気ままなタンス*プログラミングなどのノートブック

プログラミングやRPGツクール、DTM、VOCALOIDについてのんびり書きます。

【RGSS3】戦闘アニメーションをスクリプトから制御する

戦闘アニメーションをスクリプトから制御

ミニゲーム等で「よーい!どん!」みたいな開始の合図を表示し、 その後ゲームを開始するような場合に使える。

「開始の合図」については、戦闘アニメーションを設定しておき、 スクリプトから呼び出し、終了まで待つイメージ。

前提

  • ミニゲーム専用マップを作成しておく
  • ミニゲーム専用マップの座標(x=10, y=10)に戦闘アニメーション表示対象のイベントを配置しておく
  • 戦闘アニメーションの100番目に、「開始の合図」用のアニメーションを設定しておく

スクリプト

class Scene_MiniGame < Scane_Map
  def start
    super
    # 現在のマップでx=10, y=10に存在するイベントIDを取得
    event_id = $game_map.event_id_xy(10, 10)

    # イベントIDからイベントを取得
    char = $game_map.events[event_id]

    # イベントに対して、アニメーションを設定
    char.animation_id = 100

    # イベントのアニメーションが終了するまで待つ
    f = Fiber.new do
      Fiber.yield while char.animation_id > 0
    end
  end
end