トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     FLASH actionscript2での早送りについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
flashlike1
Åê¹ÆNo.49684
投稿日時: 2013-3-26 0:57
新米
居住地:
投稿: 1
使用環境:
FLASH CS4
Mac OSX ,actionscript2.0
FLASH actionscript2での早送りについて
FLASH CS4でactionscript2.0を使用して「早送り、巻き戻し、一時停止、再生」の制御ボタンをつけたFLASHムービーを制作しています。
12分のFLASHムービーに早送り、巻き戻しするボタンをつけるところまではいったんですが、早送りしたムービーが次のロードするムービーに進まず困っています。
お力をお借りできればと思います。


12分のムービーを4つのswfファイルに分け、
1.swf(7,200フレーム)→2.swf(7,200フレーム)→3.swf(7,200フレーム)→4.swf(7,200フレーム) とFLASHムービーを自動再生するようにしています。

flaファイルにはaftereffectで制作したムービーを埋め込み、フレームの最後に「loadMovie("○○.swf", _root);」とスクリプトを書き、次のswfを再生するようにしています。

早送り、巻き戻しには、ボタンシンボルに
早送り→「on (press) {_root.gotoAndPlay(_root._currentframe+200);}」
巻き戻し→「on (press) {_root.gotoAndPlay(_root._currentframe-200);}」
とスクリプトを書いています。

この状態だと1.swfの間で早送りはできるのですが、
早送りで1.swf→2.swfに進んでくれず、1.swfの最後まで進むと、1.swfの最初に戻ってしまいます。

早送りで1.swf→2.swf→3.swf→4.swfと進むためには、どういったアクションを書くのがいいのでしょうか?

何卒よろしくお願い申し上げます。
taniku
Åê¹ÆNo.49685
投稿日時: 2013-3-26 9:19
新米
居住地:
投稿: 7
使用環境:
win7 CS4
Re: FLASH actionscript2での早送りについて
試していないので、不確かですが。

原因は、早送りを押した時点で、_currentframeが7001以上の場合、
frame7200に書かれたloadMovieが実行されないからだと思います。

なので、_currentframe>7000の場合、loadMovieしてから
200-(7200-_root._currentframe)のフレーム分を移動するというのはどうでしょうか?

loadMovieに時間が掛かった場合、gotoAndPlayが上手くいくか不安なので、MovieClipLoaderのほうがいいかもしれません。

以上、ご参考まで・・・。
ebi
Åê¹ÆNo.49705
投稿日時: 2013-3-29 22:52
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: FLASH actionscript2での早送りについて
こんにちは。えびです。

引用:
早送り、巻き戻しには、ボタンシンボルに
早送り→「on (press) {_root.gotoAndPlay(_root._currentframe+200);}」
巻き戻し→「on (press) {_root.gotoAndPlay(_root._currentframe-200);}」
とスクリプトを書いています。

gotoAndPlay();で、ジャンプ先のフレームをいきなり指定してしまわず、
まずは変数に入れ、ジャンプ先があるかどうかを確認し、
あるのなら、そのままの変数をgotoAndPlay();に指定してジャンプ、
ないのなら、不都合が起きないよう加工した変数をgotoAndPlay();に指定してジャンプ、
というふうに考えると良いと思いますよ。

例えばこうです。
//早送りボタン
on (press) {
 JUMP =_root._currentframe + 200;
 if (JUMP > _root._totalframes) {
   JUMP =_root._totalframes
 }
 _root.gotoAndPlay(JUMP)
}

//巻き戻しボタン
on (press) {
 JUMP =_root._currentframe - 200;
 if (JUMP < 1) {
  JUMP = 1
 }
 _root.gotoAndPlay(JUMP)
}


がんばってください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops