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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     複製されたmcのフレームをfor文を使って移動させるには
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
中道 次郎
Åê¹ÆNo.10781
投稿日時: 2004-9-14 14:25
新米
居住地: 沖縄県石垣市
投稿: 8
使用環境:
MacOS 10.3.5,FLASH MX2004Pro
複製されたmcのフレームをfor文を使って移動させるには
No.10138の「あるmcの上に重なったmcのインスタンス名を取得するには」で質問させていただきました中道です。ひろゆきさん、野中さんにヒントをいただき、複製されたmcのインスタンス名を配列に入れていき、それを取得することで解決しました。ありがとうございました。
さてまたまた行き詰まっております。
tableというmc上にドラッグドロップでcoffee_1,coffee_2,・・・という具合にmcが複製されていき、ドロップした時点でcoffee_1,coffee_2,・・・はそれぞれ2フレーム目に移動するようにはできたのですが、別の制御ボタン用のmcをクリックしてfor文を使ってcoffee_1,coffee_2,・・・をそれぞれ3フレーム目に移動させようとしているのですがそれができません。

制御ボタン用のmcのスクリプトは
on (press) {
	myNum = _root.mcLevel;//初期値は0としてこのシーンの1フレーム目に設定
}
on (release) {
	for (i = 0; i < myNum; i++) {
		myName = "_root.coffee_" + (i + 1);
		myName.gotoAndStop(3);
	}
}

と書いています。

次のスクリプトの場合は問題なくフレーム移動させることができています。
on (release) {
	_root.coffee_1.gotoAndStop(3);
	_root.coffee_2.gotoAndStop(3);
	_root.coffee_3.gotoAndStop(3);
}


for文の中のインスタンス名の設定がまずいということはわかるのですがこの場合どのようにすればいいかご教示お願いできますでしょうか。


----------------
JIRO NAKAMICHI
2004pro .3.5

ひろゆき
Åê¹ÆNo.10782
投稿日時: 2004-9-14 14:37
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 複製されたmcのフレームをfor文を使って移動させるには
えっと、いまテストできる環境にないので、確実と言えませんが、
on (release) {
	for (i = 1; i <= myNum; i++) {
		myName = _root["coffee_" + i];
		myName.gotoAndStop(3);
	}
}
では、いかがでしょう?
中道 次郎
Åê¹ÆNo.10783
投稿日時: 2004-9-14 15:06
新米
居住地: 沖縄県石垣市
投稿: 8
使用環境:
MacOS 10.3.5,FLASH MX2004Pro
Re: 複製されたmcのフレームをfor文を使って移動させるには【解決】
ひろゆきさん、即効のレスありがとうございました。
バッチリうまく行きました!
いつもありがとうございます。


----------------
JIRO NAKAMICHI
2004pro .3.5

野中文雄
Åê¹ÆNo.10784
投稿日時: 2004-9-14 15:08
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 複製されたmcのフレームをfor文を使って移動させるには
変数myNameがどういう値なのか、確認されるとよいでしょう。MovieClip.gotoAndStop()メソッドを呼出すためには、ターゲットがMovieClipインスタンスでなければなりません。

trace()ステートメントの出力は、つぎの3種類の値です。

[変数の値, そのデータタイプ, gotoAndStopメソッドの参照]

参考:「変数について
引用:
中道 次郎さんは書きました:
制御ボタン用のmcのスクリプトは
on (release) {
    for (i=0; i<myNum; i++) {
        myName = "_root.coffee_"+(i+1);
        trace([myName, typeof myName, myName.gotoAndStop]);
        myName.gotoAndStop(3);
    }
    // 比較として
    trace([_root, typeof _root, _root.gotoAndStop]);
}

と書いています。

次のスクリプトの場合は問題なくフレーム移動させることができています。
on (release) {
	_root.coffee_1.gotoAndStop(3);
	_root.coffee_2.gotoAndStop(3);
	_root.coffee_3.gotoAndStop(3);
}


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

中道 次郎
Åê¹ÆNo.10796
投稿日時: 2004-9-15 2:23
新米
居住地: 沖縄県石垣市
投稿: 8
使用環境:
MacOS 10.3.5,FLASH MX2004Pro
Re: 複製されたmcのフレームをfor文を使って移動させるには
野中さん、ありがとうございます。

動かなかった原因がはっきりわかってすっきりしました。
string に対して gotoAndStop じゃ動かないわけですね。
これからもこのような多角的なチェック方法を活用させていただきます。

いつもありがとうございます。


----------------
JIRO NAKAMICHI
2004pro .3.5

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

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