- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:大元のタイムラインの変数を初期化するには?(できれば1シーン1フレーム目で))
大元のタイムラインの変数を初期化するには?(できれば1シーン1フレーム目で)
このQ&Aのポイント
- Flash 8 Basic試用版で勉強中です。メインのタイムラインの1シーン1フレーム1行目に変数を初期化する方法が分かりません。
- 1フレーム目に戻った時に変数の値を保持したいですが、初期化が行われてしまいます。
- Movieclipの親玉となるメインのタイムラインでも同じ方法を試しましたが、うまくいきません。どのように対処すればよいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#35109
回答No.1
私は,こんな↓感じにしています。 -------------------------- var a:Number; trace(a); //←本当は不要 if (a == undefined) { a = 0; } trace(a); //←本当は不要 -------------------------- trace(a); //←本当は不要 この行は本当に不要で, この回答のためにだけ書いた,ムービープレビュー用のアクションです。 Flash MX(Flash Player 6 )までの場合, 未定義の変数の値は, 0 もしくは ""(空文字列) に勝手になっていたので, ご質問の件は全然苦労しませんでした。 しかし, Flash MX 2004(Flash Player 7)以降は, 未定義の変数の値は undefined になるので, 質問者さまと同じように, フレーム1 を何度も通過しないように, フレーム2 以上でフレーム移動させるか,上のような式を使っています。 正式にはどうすべきかはよくわかりません。 この回答は単なる参考程度にしてください。
お礼
回答ありがとうございます。if ( a == undefined ) なんて出来たのですね。これには気付いていませんでした。この書き方なら許容範囲内です。今の時点ではこの方法でやるしか仕方がないのかもしれません。またはやはり1フレーム目にはプログラムだけ書いて実質的には2フレームから内容を書く方式ですね。もともとflashはアニメーション作成ソフトであることを考えると、絵のないフレームを作成したり、プログラム上で必要な goto のラベル名をつけるためだけにフレームを作成するのはどうも違和感があったのですが、仕方がないのかもしれません。