変数を宣言して例えばその値が 0 から 1 に変わったときに処理する方法はありますでしょうか?
ゲームの処理で必要になりました。 変数がただ変化した時に処理するのではなく、ある値からある値に変化した時に処理を行いたいです。
更にその処理を数秒後に終える方法も併せて教えていただきたいです。
どのような場面でそのようなことが必要となったのでしょうか?
ゲームの処理で必要になりました。
変数がただ変化した時に処理するのではなく、ある値からある値に変化した時に処理を行いたいのです。
普通であればメソッドや関数を呼んで処理させるのが適当かと思うのですが、なぜ変数の変化に連動させる必要があるのでしょうか。
様々な条件でif で分岐させやすいからです。
「変数」はグローバル変数なのですか?
はい
「変数を書き換えるコード」と「変数が書き換わったときに実行するコード」はそれぞれ1つでしょうか、複数でしょうか?
両方ともは1つです。
では、変数でなく関数呼び出しで書くほうが自然かと思います。
> ゲームの処理
ゲーム進行の管理方法は ゲームループですか? イベント駆動ですか?
>AkitoshiManabe様
イベント駆動です。
>maisumakun様
関数呼び出しの方法教えていただけませんか?
イベント駆動なら、各イベントハンドラで変数値を読み取れば良いのではありませんか。
何となくですが変数というものに対しての認識がちょっと違うのかなと思います。
変数はあくまでデータを入れる箱であって、そこが変わったらなにかするというのを箱の中からアクションは出来ません。
外から箱の中身が変わったんだということを検知してそこからなにか処理を走らせるという動きだと思います。
例えばですが、ずっとタイマーで変数の中身をif文でチェックするとかだったら近いことはできるかもしれません。
>eneco様
すいません説明不足でした。実際の処理では変数を宣言して、その値がプレーヤの操作によって変わるようにコードを組んでます。
そしてその変数がある特定の値から別の特定の値に変わるときに処理を実行させたいのです。
変数値を変化させるコードの着後にイベントを発火させるコードを書く実装は考えられないでしょうか