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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     continue
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
野中文雄
Åê¹ÆNo.7920
投稿日時: 2004-6-3 8:09
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: continue
後半は、論点が少し変わってしまいましたね。私が問題にしたのは、スクリプトの実行中に他の処理を残したままフレーム移動を行うと、インスタンスやパスの状態が変化してしまうため、意図しない動作を生じやすいということでした。
引用:
東郷さんは書きました:
まあ、cotinueの使い方というよりは動作のしくみってことを
伝えればと思いました。


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

野中文雄
Åê¹ÆNo.7919
投稿日時: 2004-6-3 8:04
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: continue
MovieClip.gotoAndStop()メソッドでフレーム移動した先に、フレーム移動する前とまったく同じインスタンスが同じ状態で配置されていることは「ノーマル」ですか?それですと、フレーム移動する意味が、何もありません。

そのような「不自然」な前提条件のもとでしか動作しないスクリプトが、「ノーマル」とは思えません。
引用:
東郷さんは書きました:
しかし、この continueの使い方例としては
テキストフィールドを2フレで空キーフレームに
するなんてことはしないで使うのがノーマルだと思いますが。


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

Duke15
Åê¹ÆNo.7918
投稿日時: 2004-6-3 7:58
常連
居住地: 埼玉
投稿: 196
使用環境:
XPpro,2Kpro,
MX2004prov7.2
FlashPro8
Flash9Preview α
Player8r24
Player9.0.16
Player7r63
Firefox1.5.0.5
IE6,NB8.1en
Re: continue
Tohgohです。
確かに 追加した部分は野中さんのスクリプトから
揚げ足取ったものですね。(汗)
まあ、cotinueの使い方というよりは動作のしくみってことを
伝えればと思いました。

引用:

野中文雄さんは書きました:
あ、失礼。条件を追加されているのですね。
引用:
東郷さんは書きました:
on (press) {
	_root.num.text = 5;
	//【追加】
	for (i = 0; i < 10; i++) {
		if (i == _root.num.text || i == undefined) {

でも、普通こういうスクリプトを書きますか?

通常は、スクリプトを実行するフレーム以外のインスタンスや変数の存在を、意識してスクリプティングすることはまずないと思います。私のサンプルスクリプトに対して、最初Tohgohさんがその意味する内容にピンとこなかったのも、そうした意識をされていなかったからでしょう。

意識をしないことが、悪いのではありません。意識しないと正しく動作しないような、スクリプティングに問題があります。「よい子がマネをしてはいけない」と申し上げたのは、そういう意味です。


----------------
site:
http://www.yumenext.com/
blog:
http://star.ap.teacup.com/flash/

Duke15
Åê¹ÆNo.7917
投稿日時: 2004-6-3 7:52
常連
居住地: 埼玉
投稿: 196
使用環境:
XPpro,2Kpro,
MX2004prov7.2
FlashPro8
Flash9Preview α
Player8r24
Player9.0.16
Player7r63
Firefox1.5.0.5
IE6,NB8.1en
Re: continue
Tohgohです。
失礼、実際に試してみませんでした。
しかし、この continueの使い方例としては
テキストフィールドを2フレで空キーフレームに
するなんてことはしないで使うのがノーマルだと思いますが。

_root.gotoAndStop(i)を書いたので
i<10 のように10フレーム以上
引用:

野中文雄さんは書きました:
実際に、試していらっしゃいますか?
引用:
東郷さんは書きました:
Tohgohです。
2フレに空キーフレームにすると確かにundefinedになりますが、
その場合は i==5にはなってないので
continue のステートメントが実行されないから
最初に戻らないからでしょう。

第2フレーム以降のif条件は、(i == undefined)になります。iをカウンタとしたforループの中ではこの条件の評価はつねにfalseですから、5も含めたすべてのiについてcontinueは実行されず、_root.gotoAndStop(i);とtrace()ステートメントが処理されることになるはずです。


----------------
site:
http://www.yumenext.com/
blog:
http://star.ap.teacup.com/flash/

野中文雄
Åê¹ÆNo.7916
投稿日時: 2004-6-3 7:52
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: continue
あ、失礼。条件を追加されているのですね。
引用:
東郷さんは書きました:
on (press) {
	_root.num.text = 5;
	//【追加】
	for (i = 0; i < 10; i++) {
		if (i == _root.num.text || i == undefined) {

でも、普通こういうスクリプトを書きますか?

通常は、スクリプトを実行するフレーム以外のインスタンスや変数の存在を、意識してスクリプティングすることはまずないと思います。私のサンプルスクリプトに対して、最初Tohgohさんがその意味する内容にピンとこなかったのも、そうした意識をされていなかったからでしょう。

意識をしないことが、悪いのではありません。意識しないと正しく動作しないような、スクリプティングに問題があります。「よい子がマネをしてはいけない」と申し上げたのは、そういう意味です。


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

野中文雄
Åê¹ÆNo.7915
投稿日時: 2004-6-3 7:41
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: continue
実際に、試していらっしゃいますか?
引用:
東郷さんは書きました:
Tohgohです。
2フレに空キーフレームにすると確かにundefinedになりますが、
その場合は i==5にはなってないので
continue のステートメントが実行されないから
最初に戻らないからでしょう。

第2フレーム以降のif条件は、(i == undefined)になります。iをカウンタとしたforループの中ではこの条件の評価はつねにfalseですから、5も含めたすべてのiについてcontinueは実行されず、_root.gotoAndStop(i);とtrace()ステートメントが処理されることになるはずです。


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

Duke15
Åê¹ÆNo.7914
投稿日時: 2004-6-3 7:27
常連
居住地: 埼玉
投稿: 196
使用環境:
XPpro,2Kpro,
MX2004prov7.2
FlashPro8
Flash9Preview α
Player8r24
Player9.0.16
Player7r63
Firefox1.5.0.5
IE6,NB8.1en
Re: continue
Tohgohです。
2フレに空キーフレームにすると確かにundefinedになりますが、
その場合は i==5にはなってないので
continue のステートメントが実行されないから
最初に戻らないからでしょう。

引用:

野中文雄さんは書きました:
[出力]結果が、undefinedにならないのですか?16000フレーム使おうと、第2フレーム以降にTextFieldインスタンス_root.numが存在しなければ、undefinedになるはずですが。
引用:
東郷さんは書きました:
Tohgohです。
2フレームしか使わないなら。

_root.num.text
の値がundefinedになりますから、
...
出力は

0,1,5
1,1,5
2,2,5
3,2,5
4,2,5
6,2,5
7,2,5
8,2,5
9,2,5

となります。


----------------
site:
http://www.yumenext.com/
blog:
http://star.ap.teacup.com/flash/

野中文雄
Åê¹ÆNo.7913
投稿日時: 2004-6-3 7:17
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: continue
[出力]結果が、undefinedにならないのですか?16000フレーム使おうと、第2フレーム以降にTextFieldインスタンス_root.numが存在しなければ、undefinedになるはずですが。
引用:
東郷さんは書きました:
Tohgohです。
2フレームしか使わないなら。

_root.num.text
の値がundefinedになりますから、
...
出力は

0,1,5
1,1,5
2,2,5
3,2,5
4,2,5
6,2,5
7,2,5
8,2,5
9,2,5

となります。


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

Duke15
Åê¹ÆNo.7911
投稿日時: 2004-6-3 7:04
常連
居住地: 埼玉
投稿: 196
使用環境:
XPpro,2Kpro,
MX2004prov7.2
FlashPro8
Flash9Preview α
Player8r24
Player9.0.16
Player7r63
Firefox1.5.0.5
IE6,NB8.1en
Re: continue
Tohgohです。
2フレームしか使わないなら。

_root.num.text
の値がundefinedになりますから、
on (press) {
	_root.num.text = 5;
	//【追加】
	for (i = 0; i < 10; i++) {
		if (i == _root.num.text || i == undefined) {
			continue;
		}
		_root.gotoAndStop(i);
		trace([i, _root._currentframe, _root.num.text]);
	}
}

にしてやれば
出力は

0,1,5
1,1,5
2,2,5
3,2,5
4,2,5
6,2,5
7,2,5
8,2,5
9,2,5

となります。

引用:

野中文雄さんは書きました:
第2フレームに空白キーフレームを挿入して、以降には何も配置せずにお試しください。
引用:
野中文雄さんは書きました:
メインタイムライン(_root)に2フレームだけ作成します。第1フレームに以下のボタンとTextFieldインスンタンス_root.numを配置し、第2フレームには空白キーフレームを挿入します。


----------------
site:
http://www.yumenext.com/
blog:
http://star.ap.teacup.com/flash/

野中文雄
Åê¹ÆNo.7904
投稿日時: 2004-6-3 0:18
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: continue
第2フレームに空白キーフレームを挿入して、以降には何も配置せずにお試しください。
引用:
野中文雄さんは書きました:
メインタイムライン(_root)に2フレームだけ作成します。第1フレームに以下のボタンとTextFieldインスンタンス_root.numを配置し、第2フレームには空白キーフレームを挿入します。

引用:
東郷さんは書きました:
Tohgohです。
メインを15フレームで
...
0,1,5
1,1,5
2,2,5
3,3,5
4,4,5
6,6,5
7,7,5
8,8,5
9,9,5
と出力されて5フレームは飛ばされています。


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

(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

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