- ベストアンサー
flash lite1.1で
こんばんは。さっそくですが、質問です。 2秒おきにアクションをさせたいのですが、 どのようにしたら良いでしょうか? 制限時間のタイマーを表示させることは できたのですが、2秒おきに何かをさせるのが どうしてもわかりません。 お分かりになる方がいらっしゃいましたら、 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
だいたいパターンは見えて来られたと思いますが, Flash Lite 1.1 までの場合, getTimer() と, 例の如く ムービークリップ の グルグルループ ですね。 まず, ステージ外の見えない所にでも, 小さな塗りを描いて,その塗りをムービークリップに変換するか, 空のムービークリップを用意します。 そのムービークリップ内のタイムラインの編集に入り, 3フレームにします。 スクリプト専用のレイヤーを用意して フレーム3 をキーフレームにします。 こんな感じです↓。 1 □ レイヤー 筆・・|○ []|○| ←スクリプト専用レイヤー そして,そのムービークリップの フレーム1 には次のように書きます。 ------------------------------- time1 = int(getTimer()/2000); ------------------------------- int は,整数に丸める(少数以下を切り落とす)関数です。 getTimer() はムービーが始まってからの経過時間をミリ秒で取得します。 2000で割っていますから,2秒ごとに整数部分が1増えます。 その1増える整数部分だけを 変数time1 に代入するという式になっています。 そして,そのムービークリップの キーフレームにした フレーム3 には次のように書きます。 ------------------------------- time2 = int(getTimer()/2000); if (time1<>time2) { trace("2秒経過"); gotoAndPlay(1); } else { gotoAndPlay(2); } ------------------------------- 変数 time2 にも time1 と同様に int(getTimer()/2000); で,2秒ごとに整数部分が1増える数を代入します。 もし, time1 と time2 の値が違っていれば, "2秒経過" を trace して, フレーム1 に time1 の値を再度取得に戻りますが, もし, time1 と time2 の値が同じであれば, フレーム2 に戻るだけで,また自動的に フレーム3 に達するので, time1 と time2 の値の判定に入ります。 trace(); はムービープレビューの時だけに何か値を表示する関数ですが, この trace("2秒経過"); の部分を「何かをさせる」 というスクリプトに書き換えれば良いだけです。 もし,他のムービークリップなどを動作させる場合は, 例の如く, tellTarget ("パス/ターゲット") { 命令 } です。 一応,上のスクリプトの場所は,ムービークリップ内ですから, 階層に気を付けて,「何かをさせる」 ということをしてください。
その他の回答 (1)
#1です。 全般的に,結構難しい補足(お礼)ですね。 >> フラッシュを始めた時、どのような勉強の仕方をしましたか? これは簡単です。 まつむらまきお氏 http://www.makion.net/ の 「おしえて!!Flash 4」 をなめまくりで脳内にコピーしました。 (「おしえて!! Flash ○ ActionScript」の方ではありません。) 最近,本屋さんで立ち読みしてみましたら, 「おしえて!! Flash 8」 と 「おしえて!! Flash 8 ActionScript」 は共存で役割分担されていて, 「おしえて!! Flash 8」 の方には, if文 くらいまでの ActionScript しか書かれていないのですね。 その続きは 「おしえて!! Flash 8 ActionScript」 に任せる形だと思います。 「おしえて!!Flash 4」 のころは, 「おしえて!!Flash 4 ActionScript」 というものはおそらく存在していませんでしたから, 「おしえて!! Flash 8」 + (「おしえて!! Flash 8 ActionScript」÷2 ) くらいが, 「おしえて!!Flash 4」 だったと思います。 本はそれっきり数年買っていません。 たった1冊キリで数年暮らしたと思います。 「ヘルプ」がありますからね。 「ヘルプ」に書いていないこと(書いていないスクリプト)は, そもそも存在しないから「ヘルプ」に書いていないのです(極々一部の例外を除く)。 ※そのヘルプには書いていない部分が, 面白かったりするのですが… 時間関係では 「setTimeout関数」 http://www.google.co.jp/search?hl=ja&q=setTimeout+Flash こんなのは極々一部の例外です。 そういうマニアックな話は抜きにして, 根本的に私は Flash が好きなのでしょう。 絵が描ける,そして動かせる。 それだけでほとんど言うこと無しですが, さらに難しい計算までしてくれます。 「自分が表現したいことを表現する」 その最適なソフトが私の場合 Flash です。 Flash の次が Excel です。 パソコンという限られた自己表現の場所で, 私にとって Flash 以上に自分を表現できるものがないので, 「ヘルプ」や「ネット」の情報を頼りに自己表現を充実させていこうとしているのが, 私の今の段階だと思います。 要は自己表現のために変な物を作るのがすきなのです。 あと, 好きなのがソフトと言うより Google など検索エンジンです。 周りでは, Flash をしている人と言うより,検索の達者な人と認識されているようです。 プログラムのコードは,ActionScript に限らず検索するのが簡単なのです。 プログラムコード=固有名詞 みたいなものですから,簡単に有用な情報が検索できます。 だから ActionScript の情報蒐集は 「ヘルプ」+「ネット」が大半です(99%)。 「おしえて!!Flash 4」 の数年後,本も買いましたが, 趣味の読書的には良いですが,それほど実践で役に立つようなことは無かったように思います。 そんな感じですね。 何か自己表現をしたいとき(一般的にはプレゼンみたいなもの), Flash を中心に自己表現を考えます。 Flash が好きであるということと,その習慣ですかね。 全然参考にならないとは思いますが, 個人的な今と昔の学習方法でした。
お礼
とてもわかり易い回答で たすかりました。 ありがとうございます。 ところで、sassakunさんは フラッシュを始めた時、 どのような勉強の仕方をしましたか? 私は本を見ながらの独学なのですが、本に載っていないことを やろうとすると、どうやっていいのか分からなくなってしまいます。 少しくらいの改造(本に載っていることのちょっと応用)なら できるのですが、それを超えてしまうとさっぱりです。。。 よかったら、そちらも教えていただけると助かります。