RGSS3_バトルシーン処理関連

おそらく一番の難所であるバトルシーンについて解析していきます。

Scene_Battle

バトルになったら呼ばれるシーン。毎フレームupdateが呼ばれることで駆動する
最初にstart、post_startメソッドが呼ばれ、最期にpre_terminate、taeminateメソッドが呼ばれる。

初期化処理

■startメソッド
 ●create_spritesetメソッドでスプライトセットを作成
  Spriteset_Battleをnewする。
  中身は背景上下と敵画像、アクター画像(ダミー)、ピクチャとタイマー
 ●create_all_windowsでウィンドウを作成
  メッセージウィンドウ、スクロールテキスト、ログ、ステータス、インフォ
  パーティコマンド、アクターコマンド、ヘルプ、スキル、アイテム
  アクター、エネミー  
 ●バトルマネージャにウェイト用のメソッドを渡す
  マネージャからはScene_Battleのメソッドは呼べないので、
  オブジェクトとして渡しておく。中身はupdate_basic
■post_startメソッド
 ●perform_transitionでトランジション進行
 ●battle_startメソッド
  ○バトルマネージャのbattle_startメソッドを呼ぶ
   システム、パーティ、敵のセットアップ
   ~が現れた!の表示
  ○process_eventメソッド
   Game_Troop内部のインタプリタを進行させてイベントを消化
  ○start_party_command_selectionメソッド
   ステータスウィンドウを開いて、バトルマネージャのinput_startメソッドを呼ぶ
   戻り値がサプライズエンカウントのフラグで処理を振り分けてる。
   通常ならばアクターウィンドウを閉じて、パーティウィンドウのセットアップ。
   サプライズならば、パーティコマンドを無効にしてターンスタートさせる。

更新処理

■updateメソッド
 ●グラフィックのupdate
 ●入力のupdate
 ●全ウィンドウのupdate
 ●タイマーのupdate
 ●敵グループのupdate
 ●スプライトセットのupdate
 ●update_info_viewportメソッド
 ●update_message_openメソッド
 <ここまでがupdate_basic>
 ターン中ならば
  ●process_event
  ●process_action
 ●バトルマネージャの勝敗判定メソッドを呼ぶ

バトルマネージャのフェーズ
@phaseに格納されてる。
:init :turn :turn_end :aborting :input

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2012年03月07日 23:05
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。