
▲左下のテントウムシアイコンがそれ。お気軽に。
さっそくトロイさんから『AVOID』のバグ報告。
どうも。バグ報告です。やっつけたラインが以前は消えてたのに消えなくなりました。
そのまま続けると重くなってきます。確認してみてください。
確認してみたら、ホントだ! 消えない!
なんで?(°д°) 以前は消えてたのに。
不具合が起こる前と後で変更した事といえば… コメント入力フォーム(笑)
ってわけで、修正した。
−−−−−−−−−−−−−−−−−−−−−−−−
以下、そのメモ(分かる人だけ)
コメントフォーム内でボタンとスクロールのコンポーネントを使っている。
コンポーネントを使用すると(ライブラリにあるだけでも…)
_root.getNextHighestDepth()の戻り値が1048576になってしまう。
深度の上限は1048575、越えてる…これはFlashの仕様なので回避不能。
線の追加の深度指定にgetNextHighestDepth()を使ってたので、
上限を越えた分は_root.removeMovieClip()の対象にならなかった…というワケ。
(しかもこの不具合、エラーが返ってこない…)
つまり、倒した線どころか、自然消滅した線すら消えずに残ってたという…
(消えたように見えてたのは、alpha値が0になってただけ)
ありがちなミスなんだけどねぇ…(´〜`;)ゞ
_rootでコンポーネント使ってなけりゃ大丈夫かと思い込んでたヮ。
他のゲームでも不具合起きてるかも…報告ヨロです。
解決法
getNextHighestDepth()の使用をやめた。
かわりに線1つ1つにユニークIDをつけて、それを深度に割り当てた。
ユニークIDつっても、線が増える度に単純に数値を上げてゆくだけ。ID++ね。
まずないと思うけど、それでもIDが1048575を越えてしまったら、
やっぱり消えなくなっちゃうので、1000000を越えた時点でIDを0に戻すようにした。