Amazon.co.jp ウィジェット TAT [定期更新]製作が進まなかったイイワケを書きなぐるシリーズ 忍者ブログ
今週はウディタをやりませんでした!

そういう週もあるよね~ということで、とりあえず更新だけはしておかねば。
起動はさせてるんです。現に今も起動させてる。
でも報告できるだけの成果がなくって、もうこれはやってないも同義。

今週やろうと思っていたのは、大きく分けて以下の項目です。
  • 1面に配置されているモンスターの再配置
    • アイテム落とす仕様のモンスターに置き換え
    • ついでにやたら多いモンスターの位置を見直し
  • マップ移動後にもとのマップへ戻ってきた際に、モンスターが復活してる処理を追加
  • その他初期処理(ピクチャの描画とか)
基本的にこれだけ。つまる要素はなかったはずだった!

んで、なぜつまったのかというと単純で、
モンスター爆発時の描画処理がうまくできてなかったから。

ガッツリ具体的なことを書くと、まず以下のようなイベントを狙ってくんだんですね。
  1. モンスターが爆風を食らう
  2. モンスターがやられモーション開始
  3. やられモーション終了後、アイテムが表示される
  4. アイテムが爆風を食らう
  5. アイテムがやられモーション開始
  6. あとかたもなくなる
んで、これをテストプレイすると以下のような現象がまず起こりました。
  1. モンスターが爆風を食らう
  2. モンスターがやられモーション開始
  3. やられモーション終了直後にアイテムのやられモーション開始
  4. あとかたもなくなる
なんでこうなるかっていうと、色々試した結果
2のモンスターやられモーションで通常のウェイトを使ってたのがよくなかったみたい。
どうも通常のウェイトを使って処理すると、モーションが描画しきらないうちに
イベントのページだけは先に移ってしまい(処理だけが終了して、描画が追いついてない状態)
結果として次のイベントでの食らい判定が先行して受けつけられてしまったことで
さらなる食らいモーションが発動してしまう事態に陥りました。

で、この問題は既に解決されていて使用するのを通常のウェイトではなく、
「動作指定でのウェイト」+「動作終了まで待機」の組み合わせに変えるとうまくいくんです。
狙い通りに動く。
モーションが描画されきるまでイベントのページが勝手に先に進むことは無い。

ただし、これは単一のイベントを見た場合だけで、
例えば複数のモンスターを同時に倒した場合には厄介です。
具体的に言うと以下のようになります。
  1. モンスターAとモンスターBが爆風を食らう
  2. モンスターAだけがやられモーション開始
    • モンスターBは消える
  3. モンスターAのやられモーション終了後、モンスターAはアイテムになる
    • と同時にモンスターBのやられモーション開始
  4. モンスターBのやられモーション終了後にモンスターBはアイテムになる
分かりますかね。同時にモーションを処理してくれなくなるんです。
どちらか一方の処理が終了するまで、全てのイベントの処理がウェイトになるようで
私が意図していた「それぞれのイベントごとの処理をとめる」というものではない様子。
そのため、モンスターAの処理が終わるまでモンスターBは待機してしまい
結果としてやられモーション中にストップしてしまう形になります。

と、いう仕様が内包された状態に、現状なっています。
これを何とかしたいなぁという気持ちがあって、いろいろやっていたのですがうまくいかず。
あとはなんとか妥協点をどこかに見つけていくしかないと思っていますが
あとからよい処理の仕方が見つかった場合、
修正範囲が広域にわたりすぎるため少し躊躇しています。
(おバカなコーディングをしているため
 それぞれのモンスターごとにやられモーションを設定しており、
 設置したモンスター全てのやられモーション処理を修正する必要があります)


以上がちょっと思うようにイベントの製作が進まなかった言い訳でした。
一応この点を仕様としてやっつけてしまいさえすれば再配置はすぐすむはずなので
今週中には何らかの決着を見たいと思っています。がんばらなきゃなー。

拍手

PR
twitter
アクセス解析
忍者ブログ [PR]

© kondo 2000-2009. All rights reserved.
Designed : Under the Rose