Appendix

広告

Entries

移動ルート設定の処理改善

イベントの実行内容と移動ルートの設定とでは、処理の仕方が若干違ったりします。

イベント処理では1フレーム内に実行できるものは、全て1フレーム内で行います。
スイッチや変数の操作、アイテムやお金の増減など、ウェイトが必要ないものは全て一瞬で処理します。
ウェイトや文章表示などが実行されると、処理が一旦中断されます。

移動ルートの設定はというと、1フレームで1行処理します。
向きの変更や各種フラグのON/OFFなど、同時に出来るような処理でも1フレームに1つずつです。

つまり、移動ルートの設定は1行毎にウェイト1が入っているような状態です。


とはいっても、1フレーム処理が遅れて困るなんてことはそうはないでしょう。

ある処理を除いては・・・

その処理とは、グラフィックの変更です。
正確には、グラフィックの変更を使ったキャラクターのアニメーションです。

「アクイ ト アイ」ではキャラクターがちょこちょこ動作を見せます。
こういうふうにキャラクターに動きを付ける場合、グラフィックの変更と向きの変更を使って行います。
場合によってはスクリプトでパターンも変化させます。

しかし、先にもあげたように、移動ルートの処理は1フレーム1つです。
グラフィックの変更と向きの変更を同時に行なってはくれません。

そうなるとどうなるかというと、一瞬だけおかしなグラフィックが表示されてしまいます。

グラフィックの変更→向きの変更とやると、一瞬グラフィックの変更後のキャラクターが写り、
向きの変更→グラフィックの変更とやると、一瞬向きを変えたキャラが表示されてしまいます。

たかだか1フレーム。
しかし見えてしまう以上、プレイしてる人に違和感を与えてしまいます。
せっかくゲームにのめり込んでいる時に、あれ?っと別のことに意識が行ってしまうのは、あってほしくないことです。

なので、1フレーム内で処理できるものは処理してしまうスクリプトを作りました。


class Game_Character
  #--------------------------------------------------------------------------
  # ◯ ルートに沿った移動の更新
  #--------------------------------------------------------------------------
  alias _wooden_ex_update_routine_move update_routine_move
  def update_routine_move
    if @wait_count > 0
      @wait_count -= 1
    else
      _wooden_ex_update_routine_move
      if @move_route_forcing && @move_succeed && stopping? &&
        @wait_count == 0 && @move_route_index >= 0
        update_routine_move
      end
    end
  end
end



alias使ってますが、再定義でもいいような内容です。

ループ使っても良かったんですが、再帰呼び出しというのを使ってみたかったのでこんな感じです。
再帰呼び出しというのは知っていましたが、使ったのはこれが初めてだったりします。
またひとつかしこくなった!



話は変わって

「ぼくらの大革命!」の不具合修正とともにちょっと機能追加中です。
「アクイ ト アイ」を作った時に、リトライ機能をつけるのに作ったクイックセーブスクリプトが使えるんじゃないかと思って、付け足してます。
ワールドマップから町やダンジョンに入った時に自動で保存され、いつでもその状態までやり直しが出来るようにしたいなあと思ってます。

あと、1歩後退機能が付けたい所。
ただ、あの隊列スクリプトがちょっと特殊なので、1歩下げるというのがなかなか難しかったりします。
これは諦めるかもしれません。

あとはキャラクターの挙動を調整したいところなのですが、何百個もあるイベントを一つ一つ修正というのは非常につらいものがある・・・

まあ、あまり力を入れても仕方ないので、適当にきりがついたら更新しようと思います。
スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://woodpenguin.blog.fc2.com/tb.php/45-87516e48

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

Appendix

プロフィール

木星ペンギン

Author:木星ペンギン
ほぼツクールのことばかり書いてます。
名前は↑から取りました。
木製ですが木星です。
トカゲは関係ありません。

ゲーム

  • 箱庭の勇者たち(体験版)
  • アクイ ト アイ
  • ぼくらの大革命!
  • 勇者がやらねば俺がやる!
  • 3Turn Battle!
  • 3TurnBattle!2nd 体験版

メールフォーム

wood_penguin@yahoo.co.jp

名前:
メール:
件名:
本文: