2021年03月15日

師匠のVB.NETどたばた塾~第19回

sisyo.gif
師匠T:うむ、師匠Tじゃ!

deshi.gif
弟子D:おう、弟子Dだぜ!

sisyo.gif
そういえば、もうすぐ春じゃのう。

deshi.gif
そうですね。

sisyo.gif
春といえば、彼氏と彼女のペアが……うおおおーーー!! 石歯天経けーんっっ!!

deshi.gif
お、落ち着いてください、師匠! 石歯天経拳ーーーー!!(師匠の石歯天経拳を自分の石歯天経拳で受け止める)

sisyo.gif
ぜぇぜぇ……す、すまぬ。つい、我を忘れてしもうた。

deshi.gif
はぁ……もしかして師匠……。

sisyo.gif
なんでもないぞ! カップルがうらやましいなぞと思ってないぞ! ほれ、さっそく今日の講座をはじめるぞ!

deshi.gif
まだ何も言ってませんが……。それで師匠、今日は敵キャラについてでしたっけ。

sisyo.gif
うむ。今回は、敵キャラの出現、移動、そして消滅についてやっていこうと思う。それではさっそくいくぞ! カップルのことが頭をよぎる前に!!

deshi.gif
はぁ……。

【敵キャラのクラスを作ろう!】

sisyo.gif
さて。まずは敵キャラを表すクラスを作るとしよう。まずは、プロジェクトメニューの『クラスの追加』から新しいクラスを作るとしよう。クラス名はEnemyとしておくぞ。

sisyo.gif
クラスを作ったところで、続いて、GraphModuleに次の変数、そして新しいサブルーチンと関数を付け加える。変数hndEmenyとLoadEnemyサブルーチン、GetEnemyHnd関数じゃ。
vb2103-01.JPG
↑付け加えた新しい変数と関数(赤枠が追加した部分)

deshi.gif
ふむふむ。画像読み込み処理と、ハンドルを返す関数を用意するんですね。

sisyo.gif
その通り。ここまでできたら、MainModuleのImageLoadサブルーチンにこう書き加える。LoadEnemyサブルーチンを呼び出すわけじゃな。
vb2103-02.JPG
↑ImageLoadサブルーチンをこう修正する(赤枠が追加した部分)

sisyo.gif
これができたら、改めてEnemyクラスの中身を書いていくとしよう。さっそく、コンストラクタを書くとするぞ。この通りじゃ。

vb2103-03.JPG
↑Enemyクラスのコンストラクタ

sisyo.gif
この通りじゃ。まず難しいことはなかろう? そうそう、いつものように、Class Enemyの下に、Inherits Spriteとつけるのと、さらにその下に、Dim fMoveType As Integerと書いておくのを忘れないようにの。
つまり、冒頭の部分をこう書き換えておくべし。

Class Enemy
    Inherits Sprite

Dim fMoveType As Integer
……

Public Sub New~

deshi.gif
はい。ですが、この引数pTypeや、変数fMoveTypeとはなんぞや?

sisyo.gif
うむ、それは敵の種類を表すものじゃ。敵にも色々な種類があるじゃろ? 突進してきたり、弾を撃ったら逃げていくものまで。

deshi.gif
はい。

sisyo.gif
今回は、敵は直進する敵一種類だけにする予定じゃが、複数の種類の敵を出す場合には、引数で敵の種類を設定するようにし、fMoveTypeの値で移動処理を分岐させるようにするのじゃ。

deshi.gif
なるほど。

sisyo.gif
さて、移動処理もこのクラスの中で行うようにする。MoveExサブルーチンじゃ。こうしとけば、モジュール側ではこの処理を呼び出すだけですむからの。

deshi.gif
なるほど! 確かにその通りです!

sisyo.gif
そういうわけで、移動処理がこちらじゃ。

vb2103-04.JPG
↑MoveExサブルーチンとMoveEx_Sub1サブルーチン

sisyo.gif
今回は、敵の種類を増やす時を考慮して、このようにSelect Caseを使って、それぞれ違うサブルーチンに飛ばす構造にしておる。
違う移動パターンを増やしたい時は、移動処理のサブルーチン(今回のMoveEx_Sub1のようなものじゃな)を増やし、Select Caseで分岐させて飛ばしてやるといいじゃろう。例えば1の時は、MoveEx_Sub2に飛ばす、というようにな。

deshi.gif
はい。

sisyo.gif
それでは、今回はここまで。次回は、モジュール側の処理を書いていくとする。復習をしっかりしておくようにの。
それでは!

deshi.gif
さらばだぜ!!

sisyo.gif
……。(--#



※次の更新は、フリーゲームレビューの予定です。お楽しみに!

posted by 裏編 at 18:28| Comment(0) | 師匠のVB.NETどたばた塾 | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください