2008-05-26
第7回、第8回の講座の続きです。
今回は、シーンクラスの説明をします。
今回は、シーンクラスの説明をします。
このシーンクラスで行うことは、ウィンドウの作成と消去です。
1.クラス名を決める
class Scene_Fase < Scene_Base
end
クラス名は Scene_Fase とします。end
Scene_Base を継承するのと忘れないように注意しましょう。
シーンクラスがどのようになっているかは、Scene_Base の
main メソッドを参照してください。
2.開始処理
def start
super
create_menu_background # 背景を描画
@fase_window = Window_Fase.new # ウィンドウ作成
end
シーンクラスで最初に呼び出されるメソッドです。super
create_menu_background # 背景を描画
@fase_window = Window_Fase.new # ウィンドウ作成
end
インスタンス変数にウィンドウを入れましょう。
ローカル変数だと start メソッドが終了すると消えてしまうので。
3.終了処理
def terminate
super
dispose_menu_background # 背景を消去
@fase_window.dispose # ウィンドウを消去
end
このメソッドは、シーンが切り替わると呼び出されます。super
dispose_menu_background # 背景を消去
@fase_window.dispose # ウィンドウを消去
end
4.フレーム更新
def update
super
update_menu_background # 背景を更新
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
end
end
このメソッドは、シーンが切り替わるまで、何度も呼び出されます。super
update_menu_background # 背景を更新
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
end
end
キー操作を監視して、Xキーが押されたら音を鳴らし、シーンを切り替えます。
つまり、ウィンドウを消去してマップに戻ります。
if Input.trigger?(Input::B)
中略
end
Input モジュールに関してはヘルプを参照してください。中略
end
Sound.play_cancel
音を鳴らす場合は、Sound モジュールを使用します。
もし、キャンセル音ではなく、決定音を鳴らしたければ、
Sound.play_decision とすればいいわけです。
このモジュールはスクリプトエディタで参照できます。