「敵キャラを作成する2」の編集履歴(バックアップ)一覧はこちら
「敵キャラを作成する2」(2009/05/02 (土) 10:35:44) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
入門編・11
シューティングゲームもどきを作る
*敵キャラを作成する2・敵キャラの表示
前回は随分長かったですが、今回はすぐ終わります。
前回作った敵キャラ、敵全体クラスをどう使うかを見てみましょう。
> create_enemies # 敵の作成
Scene_Shootingのstartメソッド内に、敵作成のメソッドを追加します。
その中身を下に示します。
> #--------------------------------------------------------------------------
> # ● 敵キャラの作成
> #--------------------------------------------------------------------------
> def create_enemies
> @enemies = Game_Enemies.new(5) # 5体の敵キャラを作成
> end
実にシンプルですね。敵キャラ全体を作成すると、自動的に敵キャラがそのスプライト、ビューポートが作成されるように
クラスを設計したため、敵全体クラスのインスタンス@enemiesを作成しただけで、敵キャラ5体が作成され、画面に表示されます。
実行してみて下さい。実行の度に敵の位置が変わると思います。言うまでも無く、乱数を使っているためです。
そして、シーンが終了する際には敵キャラ全てのインスタンスを破棄します。これがちょっと面倒くさいです。
> #--------------------------------------------------------------------------
> # ● 敵キャラの破棄
> #--------------------------------------------------------------------------
> def dispose_enemies
> @enemies.dispose_enemy
> @enemies.dispose
> end
とし、Game_Enemiesクラスにdispose_enemyメソッドを追加します。
> #--------------------------------------------------------------------------
> # ● 配列の中身を破棄
> #--------------------------------------------------------------------------
> def dispose_enemy
> for i in 0..enemy_num-1 do
> @enemy[i].dispose
> @s_enemy[i].dispose
> end
> end
これは、単に@enemiesを破棄するだけでは、各敵キャラの破棄が行われないからです(多分)。
別メソッドをクラス内に設け、それによって配列を構成する各インスタンスを破棄しています。
----
[[前へ>敵キャラを作成する]]・[[次へ>敵キャラを動かす]]
----
#comment_num2(size=40,vsize=4,num=20,logpage=コメント一覧)
入門編・11
シューティングゲームもどきを作る
*敵キャラを作成する2・敵キャラの表示
前回は随分長かったですが、今回はすぐ終わります。
前回作った敵キャラ、敵全体クラスをどう使うかを見てみましょう。
> create_enemies # 敵の作成
Scene_Shootingのstartメソッド内に、敵作成のメソッドを追加します。
その中身を下に示します。
> #--------------------------------------------------------------------------
> # ● 敵キャラの作成
> #--------------------------------------------------------------------------
> def create_enemies
> @enemies = Game_Enemies.new(5) # 5体の敵キャラを作成
> end
実にシンプルですね。敵キャラ全体を作成すると、自動的に敵キャラがそのスプライト、ビューポートが作成されるように
クラスを設計したため、敵全体クラスのインスタンス@enemiesを作成しただけで、敵キャラ5体が作成され、画面に表示されます。
実行してみて下さい。実行の度に敵の位置が変わると思います。言うまでも無く、乱数を使っているためです。
続いて、updateの部分にも追加します。敵キャラを更新するにあたって、敵キャラ全体を更新すれば各敵キャラが更新されるようになっているのでした。
> @enemies.update
だから、この1行だけで敵全体の更新が行われます。
そして、シーンが終了する際には敵キャラ全てのインスタンスを破棄します。これがちょっと面倒くさいです。
> #--------------------------------------------------------------------------
> # ● 敵キャラの破棄
> #--------------------------------------------------------------------------
> def dispose_enemies
> @enemies.dispose_enemy
> @enemies.dispose
> end
とし、Game_Enemiesクラスにdispose_enemyメソッドを追加します。
> #--------------------------------------------------------------------------
> # ● 配列の中身を破棄
> #--------------------------------------------------------------------------
> def dispose_enemy
> for i in 0..enemy_num-1 do
> @enemy[i].dispose
> @s_enemy[i].dispose
> end
> end
これは、単に@enemiesを破棄するだけでは、各敵キャラの破棄が行われないからです(多分)。
別メソッドをクラス内に設け、それによって配列を構成する各インスタンスを破棄しています。
----
[[前へ>敵キャラを作成する]]・[[次へ>敵キャラを動かす]]
----
#comment_num2(size=40,vsize=4,num=20,logpage=コメント一覧)
表示オプション
横に並べて表示:
変化行の前後のみ表示: