![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
現在、10秒経過すると画像が切り替わって1秒経過するとまた元に戻り、また10秒経過すると同じように切り替わるというループアニメーションを作成しています。
しかし、フレームを使ったタイムラインアニメーションとtimerを使ったスクリプトで上手く同期しません。
タイムラインの作りはフレームレート30で
レイヤー上:mc01 mc02と同じ1秒(30フレーム)ごと画像が切り替わっていくだけのループアニメーション(下の画像と連動していて10秒経過で切り替わるアニメーション)
レイヤー下:mc02 mc01と同じ1秒(30フレーム)ごと画像が切り替わっていくだけのループアニメーション
mc01とmc02は画像が違うだけで同じ動きをしています。mc01をvisible=false;で消しています。10秒経過したら1秒間true;になるように下記スクリプトに記述しています。
■スクリプト--------------------------------------
var myTimer:Timer = new Timer(10000, 0);
myTimer.addEventListener("timer", timerHandler);
myTimer.start();
function timerHandler(event:TimerEvent):void {
trace( "UP")
mc01.visible = true;
myTimer.reset();
myTimer.start();
}
var myTimer2:Timer = new Timer(11000, 0);
myTimer2.addEventListener("timer", timerHandler2);
myTimer2.start();
function timerHandler2(event:TimerEvent):void {
trace( "down")
mc01.visible = false;
myTimer.reset();
myTimer.start();
}*/
■------------------------------------------------
はじめの何回かは上手く同期するのですが、段々ズレが激しくなっていきます。
そもそもタイムラインを使ったアニメーションとタイマーは上手く同期しないものなのでしょうか?
他によい方法がありましたらご助力願います。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
タイムラインを使ったアニメーションがあって
それに何かの動作を合わせるのでしたら
Event.ENTER_FRAME でカウントをとって
そのカウント数によって mc01 の 表示/非表示 を切り替えるのが1つの方法だと思います。
例えば
30fps で 11秒間 だと 331フレーム のタイムラインアニメーションがあった場合,
フレーム1(経過時間0秒) に次のように書くのが1つの方法です。
//----------------------------------------
//カウンタにする変数の宣言
var cnt:int;
//1フレーム進む時間ごとに毎回 関数「changeMc01」を実行
this.addEventListener(Event.ENTER_FRAME,changeMc01);
//関数「changeMc01」の定義
function changeMc01(evt:Event):void {
//カウントを 1 を加算
cnt++;
//もしカウントが 301 になれば
if (cnt == 301) {
//"UP" を出力
trace("UP");
//「mc01」 を表示する
mc01.visible = true;
//もしカウントが 331 になれば
} else if (cnt == 331) {
//"down" を出力
trace( "down");
//「mc01」 を非表示にする
mc01.visible = false;
//カウントを 0 に戻す
cnt = 0;
}
}
//----------------------------------------
各行に注釈行を入れているので見た目の分量は多く見えますが,
元のスクリプトよりは短いですし,単純シンプルだと思います。
=== === ===
> なるべくタイムラインを使わないで作成したいと
> おもっているのですが、
そのタイムラインアニメーションの部分の動きがどんなものかわからないので何とも言えませんが
Tweenクラスを使えば モーショントゥイーン や クラシックトゥイーン に近い動きを "だいたいの" 秒単位で指定できますから,それを使うのも1つの手かもしれません。
(ただしシェイプトゥイーン的な動きはTweenクラスでは無理です。)
また Tween の終了時に motionFinish イベントも得られるので
「Tween が終わったときに ○○ する」という同期もとれます。
◎検索例
・Google検索「fl.transitions.easing」
http://www.google.co.jp/search?q=fl.transitions. …
・Google検索「fl.transitions.Tween」
http://www.google.co.jp/search?q=fl.transitions. …
・Google検索「Tween motionFinish」
http://www.google.co.jp/search?q=Tween+motionFin …
No.1
- 回答日時:
Flashのタイムラインアニメーションは、「ベスト・エフォート」タイプで、時間軸に同期しません。
フレームレートをあわせても、程度の差こそあれ、必ず遅延します。
(フェードなどをかけると一発で遅れます)
したがって、タイムラインを使うならば全部タイムライン、Timerクラスを使うならすべてTimerと、統一すること。
Timerクラスが使えるなら、あえてタイムラインアニメーションを使う理由もないと思いますが。
この回答への補足
早々のご回答誠にありがとうございます。
やはり、そうでしたか…。。
スクリプトに関しては、まだ初歩的な位置にいますので未熟であまり高度なことはできません。
Timerクラスで作成の仕方もなんとなく解っているのですが、
スクリプトで形にできずタイムラインを使ってしまうこととなっていしまいました。
なるべくタイムラインを使わないで作成したいとおもっているのですが、
まず1秒ごとに画像を切り替えるにはどうしたらよいのか。10秒経過したら別の画像の表示後1秒経過後に消え、
また最初からループするにはどうすればよいのか?といった出だしの部分で躓いております。
大変、恐縮なのですが簡単に教えていただきたいのですが。。
無知で大変申し訳ございません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 画像が分割されて切り替わる、ループアニメーションが作りたい 7 2023/05/27 17:12
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- 物理学 ここで回答している相対論信者って全員、相対性理論を理解できてないですよね? 4 2023/03/08 12:40
- PowerPoint(パワーポイント) you tubeにパワポで作った動画を投稿する方法 1 2023/04/09 22:56
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- その他(ソフトウェア) 時間差でのオートクリック 1 2023/04/12 12:04
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- ノートパソコン 現在、fu....さんWindows11proを使用しているのですがエクセルの起動が少し遅く色々試し 7 2023/04/01 10:30
- 車検・修理・メンテナンス 充電はいつやっているの? 2 2022/07/21 19:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
arduino プログラムについて
-
potplayerについて質問です
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
-
Flashplayerの運用について
-
VBAのコンボボックスの年月表示...
-
Adobe Flash Player
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三角形ABCのBを可変にしたい
-
外部ムービー読込み後 AS が...
-
Flash ドラック&ドロップ 色の...
-
paraflaのアクションスクリプト...
-
mcのスクロール
-
AS3.0でムービークリップ制御
-
FlashのMCに複数の動作を...
-
Flash lite 1.1で待受け作成
-
ムービークリップを1コマ飛し...
-
【AS3.0】Timerとタイムライン
-
FLASH LITE1.1 制限時間を任意...
-
オンマウスでモーションを停止...
-
関数を順番に実行したい AS3
-
FLASHの同一タイムラインで、複...
-
actionscript3.0で親階層にある...
-
AS3でムービークリップ再生・早...
-
as3.0でのフレーム移動制御のス...
-
AS3.0でComboBox
-
フレーム内に移動したい
-
【C#】wavファイルの複数同時再生
おすすめ情報