|
|
Re:お久しぶりです aeris 【2004/08/30 13:19:23】
[削除] いらっしゃいませ、お久しぶりです。
リンクの件ですが、サイトの方針で、ご報告はいたしませんでしたが、ご容赦くださいませ。
>優先順位
まさに、実行可能になるタイミング、イベントが出現するタイミングが問題になります。
自動開始イベントは、出現条件を満たしたframeの、次回以降のframeに有効になります。
上記の動作か、一緒に出現するかによらず、同一frame内での優先順位をテストする方法は、以下のとおりです。
- 各開始条件のテスト対象イベント(仮にターゲット)を作る。
- ターゲット毎に異なるスイッチで出現させる。
- 自分の呼び出された順番を記憶する。
- 自分の出現条件スイッチをOFFにする。
- ターゲットの出現条件を満たすイベント(仮にトリガ)を作る。
- 全ターゲットの出現条件スイッチをON。
- 1frame以上経過させる。
- 1frame経過したことで、並列処理のターゲット内で変数などが操作された可能性があるので、これを初期化する。また、その場合、出現条件がOFFになっているので再びONにする。
私も、はじめは並列処理の方が先に実行される と思っておりました。
しかし、
- 複数のイベント, frameにまたがるテストで、はじめの1frame分の動作と、その後のframeの動作が一貫していない。
- イベントの処理stepの計測時に、並列処理と自動開始とで、出された値が1frame分ずれていた
- 並列処理は画面のフェードイン時から動作するのに対し、自動開始は画面が完全に表示されるまで開始されない(ツクールシステム研究 research#04前半の現象の原因かと予想)
などの動作から、並列処理イベントは、自動開始イベントより1frame早く実行されているのではないかと判断いたしました。
テストもイベントで作らなければならないため、結果に影響が出てしまい、厳密な検証は難しく、大変ですね。
以上、まだ説明の至らぬ点はございますけど、長文をまとめることが出来なかったため、このような形になってしまい、失礼いたしました。
今後、ツクール関係のコンテンツの更新も、少なくなってしまいますけど、機会がございましたら、加筆, 追加, 修正いたしたいと思います。
>ツクールXP
テクニックなどを使わず、「プログラミングで普通に」システムを構築できますから、制作者さんには、向いているでしょう。
ツクール2000の情報は、需要がさらに減りますね。
では、ご訪問ありがとうございました。
だらだらとした長文になってしまいましたけど、少しでも参考になれば幸いです。
|