質問
友達と私はポケモンのようなゲームを始めていますが、どのようにしてゲームにモンスターを追加するのか知りたいと思っています。友人の兄弟が VisualBasic の方が簡単だと言ったため、VisualBasic を使用しています。
これまでのところ、画面上にモンスターの写真を表示でき、クリックして攻撃などを行うことができます。
現在、モンスターを追加したい場合は、新しいウィンドウを作成する必要があります。モンスターの種類ごとにすべてのウィンドウを作成するには、長い時間がかかります。これを高速化するツールか何かはありますか?ゲーム会社はどうやってこれをやっているのでしょうか?
解決
最善の解決策は、モンスターを説明するいくつかのパラメータを受け取ることができる汎用ウィンドウを作成することだと思います。
私は VB に完全に精通しているわけではありませんが、OO 言語では Monster 基本クラスと、ピカチュウを作成するための継承が必要です。基本クラスは、モンスターが持つ基本的なもの (写真、名前、タイプなど) とモンスターが実行できること (攻撃、逃げるなど) を定義します。2 番目のレベルを使用して、タイプごとに基本クラスを用意することもできます (Monster を継承する ElectricMonster や、ElectricMonster を継承するピカチュウなど)。
これにより、Monster オブジェクトをウィンドウに渡し、すべての関連情報を引き出す方法をウィンドウに認識させることが非常に簡単になります。
他のヒント
各モンスターに必要なすべての属性のリストを作成し、そのすべてを次のようなデータベースに保存することをお勧めします。 MySQL. 。この方法では、モンスターごとにウィンドウを作成する必要はなく、モンスターが出現するたびにのみ作成できます (この場合、必要な情報をデータベースから取得するだけです)。
データベースに詳しくない場合は、以下を確認してください。 MySQL チュートリアル 立ち上がって進むこと。
最大の問題は、さまざまな角度(キャラクターが回転するときなど)を作成することだと思います。テレビ番組やカードゲームの異なるフレームに基づいてキャラクターの 3D モデルを開発できますか?
モンスターが持つ可能性のあるさまざまな属性を抽出してみることをお勧めします。トップトランプについて考えてみましょう...
次に、プロパティ/フィールドで表される各属性を持つ単一の Monster クラスを作成できます。
何かのようなもの
Class Monster
Public Name as String
Public Filename as String ' Location of graphics file on disk
Public Strength as Integer
Public Speed as Integer
Public Sub New(Name as String, Filename as String, Strength as Integer, Speed as Integer)
Me.Name = Name
Me.Filename = Filename
Me.Strength = Strength
Me.Speed = Speed
End Sub
End Class
そうすると、このようなモンスターを作成できるようになります。
Dim Monster1 as New Monster("monster1", "C:\Graphic1.jpg", 50, 10)
Dim Monster2 as New Monster("monster2", "C:\Graphic2.jpg", 1, 100)
Dim Monster3 as New Monster("monster3", "C:\Graphic3.jpg", 60, 17)
ただし、毎回新しい「ウィンドウ」を作成する必要はありません。
同様に、「モンスター」データを他の場所から取得できるようになります...たとえばデータベースのようなものです。
アートワークを作成したら、それを 1 つの大きな EXE にコンパイルするのではなく、ハードディスクから動的にロードします。PictureBox コントロールの LoadPicture メソッドを使用できます。
データ、データ構造、ループについて学ぶ必要があります。モンスターはデータとコードで構成されており、モンスター表示画面にはこのデータとコードに基づいてモンスターが表示され、操作されます。
ウィジェットをコピーして貼り付けることはできません。ウィジェットからデータとロジックを抽象化する方法を学びます。
今すぐ VB の使用をやめて、VB で遊んでみましょう http://scratch.mit.edu それははるかに適しています。
「モンスターを追加したいとき」とはどういう意味ですか?モンスターごとに個別のウィンドウがあり、そのモンスターが出現したときに表示されるということでしょうか?シットが言ったことを踏まえて。デザイン、デザイン、デザイン。アドホック設計手法は、最小のプログラムを超えて拡張することはできません。
モンスター データをファイルまたはデータベースに保存し、汎用ウィンドウからロードする必要があります。たとえば、ハードディスクにピカチュウの写真とフシギダネの写真が 1 枚保存されているとします。次に、空白の画像を含むウィンドウを作成し、そのウィンドウを表示するときに、画像オブジェクトに必要な画像をロードするように指示します。