メイン コーダーズルーム【スクリプト系】 forを使った条件分岐 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ニューライス | Åê¹ÆNo.34151 投稿日時: 2007-7-14 22:29 |
常連 居住地: 投稿: 81
使用環境:
MacOSX(10.4.2) Flash8 |
forを使った条件分岐 こんにちわニューライスです。
for文を組み合わせて、下記のようなものを考えていますがうまく結果が返ってこず、思った結果にならず困り果てています。 まず、配列cateAllにはすべてのムービークリップが格納されています。 次に、配列cate1には配列cateAllの一部のムービークリップが格納されています。
やりたい処理としては cateAllにある値の中でcate1の値に該当するものはAの処理。 cate1の値に該当しないものはBの処理。といった条件分岐をしたいと考えております。 作っていたら訳がわからなくなり、困りはててこのフォーラムへアクセスしていました。 どなたかおわかりでしたらお知恵を貸してください!! |
野中文雄 | Åê¹ÆNo.34152 投稿日時: 2007-7-14 22:58 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: forを使った条件分岐 引用:
ニューライスさんは書きました: |
ニューライス | Åê¹ÆNo.34158 投稿日時: 2007-7-16 0:58 |
常連 居住地: 投稿: 81
使用環境:
MacOSX(10.4.2) Flash8 |
Re: forを使った条件分岐 野中さん、ありがとうございます。
自分では絶対に考えつかない考え方で「さすが」と驚かされるばかりです‥。 ただ、やはり考え方の部分で「なぜ?なぜ?」の疑問が出てきます。 処理の流れとしては 1.cate1に含まれるMovieClipをreturnObjectに配列として格納 2.oExistingにreturnObjectを代入 3.配列cateAllの値をoExistingと比較する 4.Booleanで条件分岐 で問題はないでしょうか? 分からない部分は2点あります。 1.oExistingオブジェクトの構造。どのようにMovieClipとtrueが格納されているか。 2.xTargetArrayメソッド内にある、if (oExisting[_mc]) {の部分の判定方法。 cateAllとcate1は「そうあたり」で判定をすることになると思うのですがそれがどのように判定されているのかが今ひとつ描けません。 手元にある参考書などでObjectを調べてみましたが、基本的な定義しか書かれておらず今ひとつ今回の処理とつながりません。 なにか参考になるリンクでもよいので、教えていただけるとありがたいです。 お手数をかけますが、もう一歩踏み込んで理解したいと思います。 |
野中文雄 | Åê¹ÆNo.34159 投稿日時: 2007-7-16 2:04 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: forを使った条件分岐 以下のような問題が、たくさんあったとしましょう。
[問題]つぎのうち、野菜はどれか。すべて答えなさい。 (a)りんご、(b)トマト、(c)みかん、(d)スイカ、(e)大根 たとえば、解答者の選択は、つぎの配列solver_arrayに格納します。
そして正解は、配列answer_arrayに設定しておきます。
正誤判定は、つぎの処理で行うことができます。正解だったらtrue、不正解ならfalseが[出力]されます。
変数oExistingの内容は、以下のようになります。 [デバッグ] > [変数のリストアップ]より引用: 変数 _level0.oExisting = [オブジェクト #5, クラス 'Object'] { 引用: ニューライスさんは書きました: |
ニューライス | Åê¹ÆNo.34185 投稿日時: 2007-7-18 0:12 |
常連 居住地: 投稿: 81
使用環境:
MacOSX(10.4.2) Flash8 |
Re: forを使った条件分岐 野中さんありがとうございます。
本当に勉強になります。 正誤判定を理解するためにはもう少し、時間が必要みたいですが、もう少し理解できるまでいろいろtraceして、処理を具体的にみさせてもらいたいと思います。 取り急ぎ、ありがとうございました!! |
野中文雄 | Åê¹ÆNo.34190 投稿日時: 2007-7-18 4:27 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: forを使った条件分岐 つぎの処理が理解できればよいのではないかと思われます。
引用: ニューライスさんは書きました: |
ニューライス | Åê¹ÆNo.34281 投稿日時: 2007-7-21 17:47 |
常連 居住地: 投稿: 81
使用環境:
MacOSX(10.4.2) Flash8 |
Re: forを使った条件分岐 野中さんありがとうございます。
教えていただいたサンプルは、oRightAnswerの値ひとつに 対して、ひとつの判定対象をいれているので理解ができました。 私が一番理解ができてない部分は、oRightAnswer[判定対象]を 実行したとき、、oRightAnswer内に複数値が入っていたときの 処理内容が理解できていないようです。 例えば、 oRightAnswerに3つの正解が入っていたとします。 そこにoRightAnswer[判定対象]を一回実行したときに行われる 処理は「そうあたり」で調べているということで よいのでしょうか? **************************************************** 例: var oRightAnswer:Object = {a:true, c:true ,d:true}; var answer0_str:String = "a"; var bResult:Boolean; bResult = oRightAnswer[answer0_str];※ ※bResult = oRightAnswer[answer0_str];を実行したときの 処理の流れ answer0_str → oRightAnswer[a:true] → true answer0_str → oRightAnswer[c:true] → false answer0_str → oRightAnswer[d:true] → false ⇒answer0_strとoRightAnswerの値を比較したときに trueのものがあるためbResultにtrueを返す **************************************************** という解釈でよいのでしょうか? なんだかその点がはっきり理解できていません。 何度も何度もすみません‥ |
野中文雄 | Åê¹ÆNo.34283 投稿日時: 2007-7-21 18:37 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: forを使った条件分岐 ご質問の意味が理解しにくいのですが、おそらく「『そうあたり』で調べている」というご理解とは違っている感じがします。以下の、結果はおわかりになりますか?
引用: ニューライスさんは書きました: |
ニューライス | Åê¹ÆNo.34284 投稿日時: 2007-7-21 19:21 |
常連 居住地: 投稿: 81
使用環境:
MacOSX(10.4.2) Flash8 |
Re: forを使った条件分岐 野中さん、ありがとうございます。
ようやく理解できてきました! ひとつの解答を基準にして、「正解」の値全部と 一つづつ比較してtrue or falseを判定するものと ずっと思い込んでいました。 ************************************** a:true c:true d:true | | | | "a" "b" "c" "d" | | | | true undefind true true ************************************** 上記のように判定しているということですね。 ようやく理解できました。 この仕組みをつかって、trueかそれ以外かで 処理を分けるということですね。 理解するまで時間がかかってしまいました‥ 野中さん何度もありがとうございました! PS:「オブジェクト指向で考えるActionScript」購入して 読み始めました。まだはじめの数ページですが、楽しませて もらっています。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |