DPEのプロフィール
- ベストアンサー数
- 666
- ベストアンサー率
- 85%
- お礼率
- 0%
- 登録日2001/10/29
- actionscript2.0で動的な位置変化
actionscript2.0を使い、bg0~bg9と配列で並んだムービークリップに対して、hit判定があった場合、hitしたムービークリップの数の分だけ、位置がずれていくという動的なムービークリップの移動と配置をさせたいと考えています。(画像参照) また、「hitBar」を外した際に、元いた位置に戻ってほしいです。 ムービークリップの配置の配列は、下記のスクリプトを使用しています。 objA = new Array(2* 5); D = 0; sy = 112; for (y = 0; y < 2; y++) { sx = 70; for (x = 0; x < 5; x++) { objA[D] = _root.attachMovie("bg" , "bg" + D, D + 100); objA[D]._x = sx; objA[D]._y = sy; D++; sx += 36; } sy += 36; } actionscriptはまだまだ未熟なもので、いろいろと試してみたのですが、どうにも上手くいかずに困っています… どうかお知恵を貸していただけたら幸いです。 画像のような動きができれば、上記のスクリプトを用いらずともまったくかまいません。 よろしくお願いいたします。
- actionscript2.0で動的な位置変化
actionscript2.0を使い、bg0~bg9と配列で並んだムービークリップに対して、hit判定があった場合、hitしたムービークリップの数の分だけ、位置がずれていくという動的なムービークリップの移動と配置をさせたいと考えています。(画像参照) また、「hitBar」を外した際に、元いた位置に戻ってほしいです。 ムービークリップの配置の配列は、下記のスクリプトを使用しています。 objA = new Array(2* 5); D = 0; sy = 112; for (y = 0; y < 2; y++) { sx = 70; for (x = 0; x < 5; x++) { objA[D] = _root.attachMovie("bg" , "bg" + D, D + 100); objA[D]._x = sx; objA[D]._y = sy; D++; sx += 36; } sy += 36; } actionscriptはまだまだ未熟なもので、いろいろと試してみたのですが、どうにも上手くいかずに困っています… どうかお知恵を貸していただけたら幸いです。 画像のような動きができれば、上記のスクリプトを用いらずともまったくかまいません。 よろしくお願いいたします。
- FFXのストーリー教えて下さい
このゲーム、3回チャレンジしたのですがどうしても挫折してしまいます。 知り合い曰くストーリーがハンパないとの事でストーリーだけ知りたいです。 僕が知ってること 主人公ティーダはザナルカンドのブリッツボールのエース。 試合中に異変が起き、どうやら自分は1000年後に飛ばされたらしい。 そこで出会ったワッカ率いるブリッツボールチームは弱小でバカにされている。 で諸悪の根源シンの正体はティーダの父ジェクト(これがどうもよくわからない。そもそもシンって何?なんで人間ジェクトはシンになったの?) アーロンってティーダのなんなんですか?単なる普通の知り合い? 最後はザナルカンドに戻れる、のかな?しかしティーダは実は実在しなかった?(これもよくわからない。実在しないのに何で冒険出来たの?) どうもストーリーが???です。
- ベストアンサー
- プレイステーション
- john_and_paul
- 回答数3
- 配列の比較(大変申し訳ありません再度質問です。)
以前ActionScriptの配列の比較で一度ご質問させて頂き解決(DPE様へご教授頂き)したのですが、その後改良しまた問題が出てきてしまいました。 複数のチェックボックスの値(true,false)を取得して配列に格納し、別の配列(A、B、C)と比較をし一致項目の多い配列を決める処理で 「全てのチェックボックスの選択状況を集めたデータを作り、同じ数のデータ同士で比較」という方法をご教授頂き参考のScriptまで書いて頂いたのですが http://okwave.jp/qa/q7608367.html 例として・・・・ ・チェックボックスが9個あり ・それぞれ、1~9まで任意の名前がついております。 ・チェックされた値を取得し アンサー配列[2,3,4]を作った場合 一致項目が多いもの A配列[1,2,3,4,7,"サンプルA"] この場合3個同じ B配列[1,2,3,4,5,6,7,9,"サンプルB"] この場合3個同じ C配列[2,3,7,8,"サンプルC"] この場合2個同じ 現状同数の場合、A配列「サンプルA」が表示されます。 1つのみ表示をさせているんですが、最大の数で同数の場合(3が一致項目が多い)、複数表示という仕組みに切り替えたいと四苦八苦しておりました・・・(T_T) 結果的に「サンプルA、サンプルB」というように表示させたいのです。 ※完全一致なら表示されるのは1つだけになります。 解決済みの問題を再度掘り返すようで大変申し訳ありませんが、どなたかご教授頂ければとおもいます。よろしくお願いたします。 説明が上手くできてなくて、意味不明や、何か問題などございましたらすぐに対応させて頂きますのでご連絡頂ければとおもいます。 ※DPE様にご教授頂きましたScriptを若干変更し現在利用しております。 現在のScript //*** /* 初期設定 */ //チェックボックスの選択状況を格納する配列 var check_status:Array = new Array(); //チェックパターンデータ //最後の要素はパターン名 var check_ptt:Array = [ [ 1 , 1 , 1 , 1 , 0 , 0 , 1 , 0 , 0 , "サンプルA" ] , [ 1 , 1 , 1 , 1 , 1 , 0 , 1 , 0 , 1 , "サンプルB" ] , [ 0 , 1 , 1 , 0 , 0 , 0 , 1 , 1 , 0 , "サンプルC" ] ]; //評価を格納する配列 var score_tbl:Array = new Array(); //チェックボックスの総数 var box_max:Number = 9; //チェックボックスが配置されているタイムラインを保持 var box_line:MovieClip = this; /* 照合の処理 */ function Check_Compare():Void { var i:Number , j:Number; var score:Number , check_score:Number; var flags:Number; //選択状況とパターンを総当たりで照合する for( i = 0 ; i < check_ptt.length ; i++ ) { //評価をリセット score = 0; check_score = 0; for( j = 0 ; j < box_max ; j++ ) { //選択されるべき項目との一致を照合 //両方とも1(選択されている)である場合、評価が+1、それ以外は加算されない check_score += check_ptt[ i ][ j ] & check_status[ j ]; //全体の照合処理 //一致していた場合、評価が+1、それ以外は加算されない score += Number( check_ptt[ i ][ j ] == check_status[ j ] ); } //デバッグ trace( "Score " + i + " = " + score ); trace( "Check_on " + i + " = " + check_score ); //評価を記録する配列変数に結果を記録 //フィールド名 // ptt_no:パターンの番号 // check_on:選択するべき項目と一致した数 // total_score:総合評価 score_tbl[ i ] = { ptt_no : i , check_on : check_score , total_score : score }; } //評価の高い順に並べ替え //選択するべき項目と一致した数が多いものほど高評価 //同点の場合は総合評価で優劣を決める flags = Array.NUMERIC | Array.DESCENDING; score_tbl.sortOn( [ "check_on" , "total_score" ] , [ flags , flags ] ); /*ここに、評価を利用する処理を書く*/ /*今回は一致した数が最も多かったパターンの名前を出力*/ /*ダイナミックテキストに出力*/ t1 = check_ptt[ score_tbl[ 0 ].ptt_no ][ box_max ] ); } /* 照合開始ボタンの処理 */ btn.onRelease = function():Void { var i:Number; //選択状況を配列変数に格納 //選択されている場合1、されていない場合は0を入れる for( i = 0 ; i < box_max ; i++ ) { check_status[ i ] = Number( box_line[ "cbox" + i ].selected ); } //パターンと照合する Check_Compare(); }; //***
- Action Script 2.0 配列の比較
複数のチェックボックスの値(true,false)を取得して配列に格納し、別の配列(A、B、C)と比較をし一致項目の多い配列を決める処理を実現したくて四苦八苦しておりました。 更に細かく書かせて頂くと 1.チェックボックスは12個 2.複数選択可 3.チェックが5個以下の場合は、ボタンを押しても動かないようにする 4.12個全ての値を取得しtrueの値のみの番号を別の配列に入れる チェックボックスの値の取得し、配列に入れるところまでは大丈夫なんですが、その後の「比較して一致項目の多いものを選択」という作業で詰まってました。 例として・・・・ アンサー配列[1,2,3,4,6,8]があった場合 一致項目が多いもの A配列[1,4,5,6,7,8] この場合4個同じ B配列[1,2,3,4,5,6,7,8] この場合6個同じ C配列[1,2,8,9,10,11] この場合3個同じ 結果として ○完全一致の場合の処理 ○一致項目が多い場合の処理 ○3つとも同じ場合の処理 この場合は、B配列に決定という流れを考えてました。 どなたかお知恵を授けて頂ければと思います。