Appendix

広告

Entries

戦闘時のメッセージ表示

戦闘のチュートリアルを作っていて、ふとあることに気がついた。

戦闘中の文章表示って、ページが変わる毎にウィンドウがいちいち閉じたりするんですね。
マップだと表示位置とか変えない限りそんなことありません。

最初は追加したスクリプトが悪いのかと思ったけど、何もない状態でも起こってました。
VXAce製のゲーム色々やったけど、今まで気にしたことなかったです。


しかし、一度気づいてしまうと気になるもの。

というわけで修正しちゃいましょう。


戦闘中の文章の表示なのですから、当然Scene_Battleクラスのwait_for_messageが原因でしょうね。

見てみると、確かに$game_message.visibleが真の間ウェイトをかけるようになっています。
つまりは、ウィンドウを閉じきるまでウェイトです。

しかし、これが悪いとわかっても、そう簡単には修正出来ません。
なぜなら、このwait_for_messageは色んな所で使われているので、これ自体を修正するとウェイトかけないといけないところにかからなくなってしまう恐れがあります。

ということで、wait_for_messageが使われている箇所から、さらに原因となっている部分を探し当てないといけません。


・・・で、スクリプトの動きを辿ってみるとどうもScene_Battleの517行目のwait_for_messageが原因らしい。
このprocess_eventメソッドは戦闘中のイベントを実行してくれるものです。

ここのwait_for_messageを文章表示中のみウェイトするように修正すればいいわけです。
文章表示中かどうかを判定するには、Game_Interpreterクラスを参考にするのが良いでしょう。
きっと似たような処理があるはずです。
同じようなメッセージ表示中はウェイトを見てみると・・・


正直めんどくさいです。

てか、ここのウェイトなくてもいいんじゃね?

というわけで、Scene_Battleの517行目をコメントアウトしたら、見事にメッセージウィンドウがいちいち閉じなくなりました。

とりあえず、これでOKです。

ただ、ここにウェイトを入れてるのはなにか意味があると思うので(勝敗判定あたりがあやしい)、また何か問題があったらGame_Interpreterを参考にして、ウェイトを入れることにしましょう。

スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://woodpenguin.blog.fc2.com/tb.php/32-271130af

トラックバック

コメント

[C139] 管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

コメントの投稿

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

Appendix

プロフィール

木星ペンギン

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

ゲーム

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

メールフォーム

wood_penguin@yahoo.co.jp

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