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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     逆再生が消えてしまいます。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
caffelatte
Åê¹ÆNo.12651
投稿日時: 2004-11-24 23:50
新米
居住地:
投稿: 2
使用環境:
MacOS9,Flash MX
逆再生が消えてしまいます。
はじめまして。
まったくわからなくなってしまったのでどなたか
お助け願いたいのですが…よろしくお願いします。

http://yankees.secret.jp/question/aa.swf

↑を作ったのですが、マウスオーバー時に各ボタンを
「逆再生の設定をしたMCボタン」にしたとたんうまく
いかなくなりました。↓この効果をくわえると、です。

http://yankees.secret.jp/question/botan.swf

逆再生もサイドへの動きも消えてしまいます…
FLAファイルをあげておきました。
http://yankees.secret.jp/question/down.html
こんな質問の仕方でよろしかったでしょうか?
なにとぞよろしくご指導ください。

よろしくお願いします。

空野大二郎
Åê¹ÆNo.12660
投稿日時: 2004-11-25 5:21
職人
居住地: 愛知
投稿: 389
使用環境:
 XP:Home
FlashMX
IE6.0+FlashPlayer7,0,19
CPU:Pentium4 2.26GHz
メモリ:1,024MB
Re: 逆再生が消えてしまいます。
まいど。

 サンプルFLAファイルを掲示するのは良い事ですが、問題部分の
スクリプトの解説もあると、より応答が速くなります。
 初めて状況を見る人も、そこを中心に問題を調べ上げることができますから。
引用:

caffelatteさんは書きました:
こんな質問の仕方でよろしかったでしょうか?


 ともあれ、状況を確認しました。
[現場検証]
_root.navi=ナビゲーションバー
 |
 bt_mc(インスタンス名"home_mc")=homeボタン
 |
 AAA(インスタンス名"profile_mc")=profileボタン「逆再生の設定をしたMCボタン」と入れ替え

//_root.naviフレーム1に記述(抜粋)
profile_mc.onRollOver = function() {
	mainSlide(2);
};
profile_mc.onRollOut = function() {
	mainSlide(1);
};
?省略?

function mainSlide(num) {
	?省略?
}
//_root.navi.AAA(インスタンス名"profile_mc")の1フレーム目に記述
this.stop();
this.onRollOver = function(){
	this.go = true;
}
this.onRollOut = function(){
	this.go = false;
}
this.onEnterFrame = function(){
	if(this.go == true){
		this.nextFrame();
	}else{
		this.prevFrame();
	}
}

[着眼点]
 "_root.navi"と"_root.navi.AAA"で、同時に"_root.navi.AAA"のonRollOverを設定しています。
 そのため、ムービークリップの優先順位に基づいて、_root.navi.AAAの
スクリプトだけが先に実行されたと考えられます。

[対策]
 "_root.navi.AAA"のロールオーバーイベントを解除。
 "_root.navi"のロールオーバーイベントから"_root.navi.AAA"の
変数"go"の値を変更。
//_root.naviフレーム1に記述(抜粋)
profile_mc.onRollOver = function() {
	mainSlide(2);
	this.go = true;
};
profile_mc.onRollOut = function() {
	mainSlide(1);
	this.go = false;
};
?省略?

function mainSlide(num) {
	?省略?
}
//_root.navi.AAA(インスタンス名"profile_mc")の1フレーム目に記述
this.stop();
this.go = false;
/*
this.onRollOver = function(){
	this.go = true;
}
this.onRollOut = function(){
	this.go = false;
}
*/
this.onEnterFrame = function(){
	if(this.go == true){
		this.nextFrame();
	}else{
		this.prevFrame();
	}
}


[補足]分かりやすく説明するために、外部からムービークリップの
変数を変更しましたが、外部から変数やプロパティをいじるのは
あまり好ましくありません。
 なので、次のような形にすると、よろしいでしょう。

//_root.naviフレーム1に記述(抜粋)
profile_mc.onRollOver = function() {
	mainSlide(2);
	//this.go = true;
	this.chgGo();
};
profile_mc.onRollOut = function() {
	mainSlide(1);
	//this.go = false;
	this.chgGo();
};
 
//_root.navi.AAA(インスタンス名"profile_mc")の1フレーム目に記述
this.stop();
this.go = false;[/color]
//逆再生フラグ変更関数 (追加)
this.chgGo = function() {
	this.go = !(this.go);
};


 以上、調査終わりです。
 段階的に確認しながらスクリプトを変更して、最後に全体に反映させると良いでしょう。


----------------
空野 大二郎 アニメーター作家
桜の道

caffelatte
Åê¹ÆNo.12661
投稿日時: 2004-11-25 8:59
新米
居住地:
投稿: 2
使用環境:
MacOS9,Flash MX
ありがとうございます!
ありがとうございます。難なくいけました。
さすがですね。
ホント助かりました。

投稿の仕方も以後注意しようと思います!

ありがとうございました。失礼します!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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