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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     目的のフレームまで再生、逆再生
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
taiki
Åê¹ÆNo.9824
投稿日時: 2004-8-12 3:45
新米
居住地: tokyo
投稿: 8
使用環境:
目的のフレームまで再生、逆再生
すみませんどうか教えてください
別の掲示板にも一度書いたのですが、
解決しなかったのでお願いします。

ボタンを押すことによって(release)
movieを今のフレームから指定のフレームにまで再生、逆再生し、
そのフレームでstopしたいのですが、
どのようにすればいいのでしょうか?
ちなみに下のが自分なりに考えたのですが
うまく行きませんでした。
おねがいします

on (release) {
pass=23
}
on (release) {
if (this.mv._currentframe<pass) {
this.dell_mv.nextFrame();
}
if (this.mv._currentframe>pass) {
this.dell_mv.prevFrame();
}
else {
this.stop();
}
}
野中文雄
Åê¹ÆNo.9825
投稿日時: 2004-8-12 8:02
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 目的のフレームまで再生、逆再生
「目的のフレームまで」という条件を除き、先頭あるいは最終フレームまで、とにかく再生・逆再生することはおできになりますか? おそらく、この時点で作成ができない状況ではないかと推測します。だとしたら、この段階のムービーをまず作成するのが先決です。

参考:「ロールアウトで逆戻りするアニメーション

そのムービーが作成できたら、つぎに指定フレームを変数に入れ、条件判定により停止する処理を考えましょう。
引用:
taikiさんは書きました:
ボタンを押すことによって(release)
movieを今のフレームから指定のフレームにまで再生、逆再生し、
そのフレームでstopしたいのですが、
どのようにすればいいのでしょうか?
...[中略]...
on (release) {
    // ...[中略]...
    this.dell_mv.nextFrame();
}

文末に顔文字とアイコンを並べただけでは、見落としがちになります。ご使用の環境は、プロフィールに記入された方がよいでしょう。
引用:


----------------
 

taiki
Åê¹ÆNo.9833
投稿日時: 2004-8-12 22:56
新米
居住地: tokyo
投稿: 8
使用環境:
Re: 目的のフレームまで再生、逆再生
やってみました
再生、逆再生したいmcに

onClipEvent (load) {
nnn = 0;
}
onClipEvent (enterFrame) {
if (nnn != 0) {
nnext = this._currentframe+nnn;

if (1<=nnext && nnext<=this._totalframes) {
this.gotoAndStop(nnext);
}
else {
nnn = 0;
}

}
}

そしてボタンに

on (release) {
pass=23
if ( _root.mv._currentframe<pass) {
_root.mv.nnn = 1;
}
if (_root.mv._currentframe>pass) {
_root.mv.nnn = -1;
}
}

を書きました。
でもやっぱり目的のフレームでは止まりません
どうすれば良いのでしょうか?
森 巧尚
Åê¹ÆNo.9835
投稿日時: 2004-8-12 23:16
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: 目的のフレームまで再生、逆再生
仕様の通りのしかけを作っていますか?
「ボタンを押すことによって(release)
 movieを今のフレームから指定のフレームにまで再生、逆再生し、」
まではできていると思いますが、

「そのフレームでstopしたい」
という処理がどこにもありませんね。
止める処理を行わなければ目的のフレームでは止まりません。

passという変数が指定のフレームを指しているのでしょうか?
だとすると「今のフレームとそのフレーム(passの値)を比較してstopする」
という処理を加えてやればいいわけです。
onClipEvent (load) {
 nnn = 0;
}
onClipEvent (enterFrame) {
 if (nnn != 0) {
  if (this._currentframe == _parent.pass) {
   nnn = 0;
   return;
  }
  nnext = this._currentframe + nnn;
  if (1 <= nnext && nnext <= this._totalframes) {
   this.gotoAndStop(nnext);
  } else {
   nnn = 0;
  }
 }
}


----------------
森 巧尚
http://www.ymori.com

taiki
Åê¹ÆNo.9836
投稿日時: 2004-8-13 0:15
新米
居住地: tokyo
投稿: 8
使用環境:
Re: 目的のフレームまで再生、逆再生
たびたび、ご返答ありがとうございます。

はい止めたいフレームがpassです。
「ボタンを押すことによって(release)
 movieを今のフレームから指定のフレームに向かって再生、逆再生し、」はできています。

問題の「そのフレームでstopしたい」ですが
(release)なのでボタンでなくMCに止める処理を
書くべきだと思い
passを_globalにして
MCに以下のよう書き換えました。
今度は再生、逆再生もしなくなってしましました。
他nnn = 0の代わりにthis.stopも入れてみましたが
やっぱり止まりません

どうしたらうまくとまるのでしょうか?
すみませんおねがいします。


onClipEvent (load) {
nnn = 0;
}

onClipEvent (enterFrame) {
if(this._currentframe=pass){
nnn = 0;
}
if (nnn != 0) {
nnext = this._currentframe+nnn;
if (1<=nnext && nnext<=this._totalframes) {
this.gotoAndStop(nnext);
}
else {
nnn = 0;
}

}
}
森 巧尚
Åê¹ÆNo.9838
投稿日時: 2004-8-13 1:10
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: 目的のフレームまで再生、逆再生
私の書いたスクリプトは読まれました?
passを_globalにしなくても止まったものをここにペーストしたものなので、同じようにすれば動くはず。

それから
if (this._currentframe=pass) {
は間違いです。=は代入、比較は==です。
階層構造のパスの扱いにも注意が必要ですね。


----------------
森 巧尚
http://www.ymori.com

taiki
Åê¹ÆNo.9839
投稿日時: 2004-8-13 2:22
新米
居住地: tokyo
投稿: 8
使用環境:
Re: 目的のフレームまで再生、逆再生
すみません全然見てませんでした。
ごめんなさい

おかげさまで
ちゃんと止まるようになりました。
ありがとうございます。

うまくいったのを見るとちょっと感動しますね

本当にありがとうございました。


----------------

nao
Åê¹ÆNo.10628
投稿日時: 2004-9-7 3:42
職人
居住地:
投稿: 208
使用環境:
WinXP Pro
Flash8 Professional
Re: 目的のフレームまで再生、逆再生
便乗で質問なのですが,
FLVファイルを包んだMCにたいしてこの操作を行うと
逆再生時に極端に重くなるのですが,
これはFLVの特性に関係があるんでしょうか?


----------------
nao [seto@graffiti-web.org]

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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