2010年5月17日月曜日

Flash覚書4

ゲームなどのように
条件によって行動が異なるようなFLashの場合、
どこかでループしてやる必要があるのだけれど
スクリプトが、いろいろなところに点在すると
見通しが悪いので

1フレーム
#include "./as/game.as"

2フレーム
gotoAndPlay(1);
のようにして

game.asに制御をまとめるのがわかりやすい
全てのムービークリップはスクリプトから制御できるからだ

1フレーム
#include "./as/game.as"
gotoAndPlay(1);

でもいいじゃないかと思ったりもするが、これは動かない

最小で2フレームでループさせることになるのだけれど、
この時、1フレームの画像は表示するが
2フレーム目の画像は表示しないようだ
スクリプトは
1フレーム
2フレーム
と実行されているが
画像が見られるのは1フレームで
2フレームの画像は変化が無い

そんでもって
fpsを1にしてみると
秒でカウントアップしているようで
1フレーム
2フレーム

1フレーム分の時間ということになっているようだ。

どういう理屈なのか、理解に苦しむのだけど
そういうことになっているのだから仕方ない。

なわけで

じゃぁ、ってこって
1フレーム
の終わりに
gotoAndPlay(2);
としてみる
動作的には、同じ事で、自然に行くか
スクリプトで行くかの違いだ。
するってーと

どうなるかってーと

スクリプトが…

要するに無限ループ的なものになっているらしい

ってことは
スクリプトで動いたフレームは
描画されないし、その時間が動くわけでなく
流れで動いたフレームしか絵が反映されないし
fpsで設定される
時間経過も反映しないってことみたいだ。

なるほど、そういうことか。

でも、
スクリプトが…
とエラーを出しながら絵が表示されてはいたから
絶対表示しないってことも無いのかもしれないな

0 件のコメント: