メイン 迷える子羊の部屋【初心者専用】 for文の基本 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ebi | Åê¹ÆNo.14168 投稿日時: 2005-1-16 19:03 |
フォーラム芸人 居住地: nagoya 投稿: 926
使用環境:
.6.8 CS6 <参考書> ・基本からしっかりわかるActionScript 3.0(既読) ・ActionScript3.0プロフェッショナルガイド(進行中) ・ActionScript3.0パフォーマンスチューニング(未読) ・ActionScript 3.0 逆引きクイックリファレンス(購入予定... |
for文の基本 トンチンカンな事を言うかもしれませんが、あしからず。
for文ってのは繰り返し処理(ver4で言うとこのLoop)と捉えて良いのでしょうか? あと、存在する要素の数だけ繰り返すfor..inですが、 その時点(for..inが実行されたフレーム)に存在している 要素にのみ適応されるのでしょうか。_rootから特定のmcにfor..in処理をしたら、そのmcのカレントフレームに適応されるんでしょうか。それともフレーム関係なく全要素に適応されるのですか? また変数、ボタン、mcのインスタンス名を取得(?)するんですか? あと1つ「全ての変数を調べる時に使う」と本に書いてあったのですが、変数を調べる時に使うならボタンやmcは最初から含めないでもらった方が楽なのにこれらも含めてるのには何か別の用途があるわけでしょうか? 参考 『おしえてMX04AS』160ページ |
空野大二郎 | Åê¹ÆNo.14171 投稿日時: 2005-1-16 19:36 |
職人 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMX IE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: for文の基本 まいど。
for分は、1フレームで実行する繰り返し処理です。 引用: ebiebiさんは書きました: for..inで抜き出すプロパティは、カレントフレーム限定で適応されます。 お手元にFlashがおありでしたら、お試し下さい。
引用: ebiebiさんは書きました: 前述のスクリプト、typeof()の条件文を変更すると、 オブジェクトの型ごとに存在する名前を調べられます。 条件文がないと、オブジェクトすべてを出力します。 引用: ebiebiさんは書きました: buttonだけ、MovieClipだけを調べたい場合が想定されます。 引用: ebiebiさんは書きました:
|
森 巧尚 | Åê¹ÆNo.14172 投稿日時: 2005-1-16 19:38 |
モデレータ 居住地: 宝塚 投稿: 650
使用環境:
.5/CS4/Safari3 XP+2000//IE6 |
Re: for文の基本 for文は繰り返し処理と考えていいです。
for文 の場合はカウントしながら繰り返し処理を行いますし、 for..in文の場合は、オブジェクトに含まれるプロパティやエレメントに対して反復処理を行います。 読み間違えやすかったのかもしれませんが、正確には「全ての変数を調べる時に使う」ではなく「全ての変数を調べるときなどに使うことができる」ですね。 また、これも書いてありますが、for..in文は、変数のみでなく、ボタン名やインスタンス名、関数名などの「要素」において反復処理が行われます。 「変数だけ調べたい」という気持ちもあるかと思いますが、そもそも変数もプロパティも区別がつきにくいですし、配列の変数はオブジェクトとして生成したりもしますのでこれは変数と考えたいのかどうか。もともと全ての要素を調べられるfor..in文を利用して、それをtypeof()で調べて好きなタイプの変数を調べることができるよということです。逆にムービークリップだけ調べたい場合にも使えますしね。 また、for..in文は、その文があるフレームの、そのムービークリップの階層の中での要素のみを調べますので、それ以外の時間や場所での要素は調べません。 「今、ここにある要素」を調べるということですね。 ただ実際そんなに「変数だけ調べたい」という状況は多くはないように思います。制作中にテスト的に調べるという場合だったらあるとは思いますが、「そこにある変数に何でもかんでも何かを行う」というプログラムよりは、しっかりと「この変数名を決めて何かを行う」というプログラムの方が間違いが起こりにくくていいと思います。
|
ebi | Åê¹ÆNo.14177 投稿日時: 2005-1-16 20:14 |
フォーラム芸人 居住地: nagoya 投稿: 926
使用環境:
.6.8 CS6 <参考書> ・基本からしっかりわかるActionScript 3.0(既読) ・ActionScript3.0プロフェッショナルガイド(進行中) ・ActionScript3.0パフォーマンスチューニング(未読) ・ActionScript 3.0 逆引きクイックリファレンス(購入予定... |
Re: for文の基本 空野さん、森さん、ご返信ありがとうございます。
…って、森さんって『おしえてMX04AS』の著者さんですねー? やぁ、かんげきだ。お世話になってまーす! (胸の前でクロスにした腕を勢いよくハの字に下げる) さて、本題ですが、なんとなく分かってきました。 まずforについてはどうやらver4のloopと同じと考えて良いようですね。 僕のバックグラウンドはHyperTalk(!)とver4なので 「あれと同じなのかなー」って感じで捉えちゃいます。 それも善し悪しですが。 カレントフレームに存在してるものだけに適応って 事なんですね。他のフレーム、mc内の要素を調べたい時は どうすれば良いのでしょうか? そこへ行くべし!ですか? 変数ウンヌンに関しては単なる読み間違いでした。 どんな要素なのかを調べるのはやっぱif使うんですね。 この判断もfor..inの中に最初から含まれてるといいのにと思うのはモノグサですか。調べ方はタイプじゃなくても良いんですよね? 例えば“名前の頭3文字が○○○のものだけ”とか。(そんな状況ないと思いますが) for..in文を使う状況が少ないというのもなんとなく納得です。 どわーっとmcを複製する必要があっても、 その度ちゃんと連番付きとかの名前つけてforでやった方が 間違い少ないって事ですね。 |
森 巧尚 | Åê¹ÆNo.14182 投稿日時: 2005-1-16 20:38 |
モデレータ 居住地: 宝塚 投稿: 650
使用環境:
.5/CS4/Safari3 XP+2000//IE6 |
Re: for文の基本 引用:
(胸の前でクロスにした腕を勢いよくハの字に下げる) アンガールズ??? 引用: この判断もfor..inの中に最初から含まれてるといいのにと思うのはモノグサですか。調べ方はタイプじゃなくても良いんですよね? 例えば“名前の頭3文字が○○○のものだけ”とか。(そんな状況ないと思いますが) 最初から固定で含まれていないからこそ、そういう調べ方もできるわけです。 引用: for..in文を使う状況が少ないというのもなんとなく納得です。 そうですね。何か命令するときは、ちゃんと責任をもって指示しないと、思いもかけないバグが起ったりします。
|
野中文雄 | Åê¹ÆNo.14186 投稿日時: 2005-1-16 21:17 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: for文の基本 for..inステートメントは、指定したターゲット(オブジェクト)上に作成・設定したすべてのユーザー定義プロパティを取出します。「ユーザー定義プロパティ」には、変数のほか、function(関数)、MovieClip/Button/TextFieldインスタンスなどが含まれます。
引用: [出力]パネルの表示: 用途としては、(1)特定オブジェクトのプロパティを本当にすべて調べたい場合か、(2)逆に調べたいものだけを(通常はObject)オブジェクトにプロパティとして設定し、制御するケースのふたつが考えられます。 (2)の例としては、つぎのようなスクリプトがあります(書籍の補足なので少しわかりにくいかもしれません)。 「キー操作でムービーの表示状態をコントロールする」 |
ebi | Åê¹ÆNo.14192 投稿日時: 2005-1-16 22:12 |
フォーラム芸人 居住地: nagoya 投稿: 926
使用環境:
.6.8 CS6 <参考書> ・基本からしっかりわかるActionScript 3.0(既読) ・ActionScript3.0プロフェッショナルガイド(進行中) ・ActionScript3.0パフォーマンスチューニング(未読) ・ActionScript 3.0 逆引きクイックリファレンス(購入予定... |
Re: for文の基本 野中さん、どうも。
やってみました。 関数もなんですね。 本話題と関係ないトコの質問もしたいですが、 ここではやめておきます。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |