- ベストアンサー
for文の理解方法と初心者向け練習問題の紹介
yaa6の回答
- yaa6
- ベストアンサー率22% (2/9)
使用言語が分かりませんが、Cのようにお見受けして回答します。 for文は、{}内を()の条件が満たされる回数だけ繰り返すものです。()内は、(初期値;条件;操作)となります。 例えば int x; for(x = 1000;x > 5;x /= 2){ printf("%d\n",x); } なら 1000 500 250 125 62 31 15 7 となります。
関連するQ&A
- forとduplicateMovieClip
for文とduplicateMovieClipを覚える事を目的に、アンケート用紙のようなムービーを作ろうとしています。 一つのMCを用意し、「MC」とインスタンス名をつけました。その中に四角の絵(□)とダイナミックテキストが一つずつ入れてあります。ダイナミックテキストには変数名HT_answerとつけてあります。 フレームから下記の様にASを書きました。 var HanswerBox:Array = ["Answer1","Answer2","Answer3","Answer4"]; _root.MC.HT_answer = HanswerBox[0]; for(i=1;i<=3;i++){ _root.MC.duplicateMovieClip (["MC"+i],i,{_x:_root.MC._x ,_y:_root.MC._y+(50*i)}); _root["MC"+i].HT_answer = HanswerBox[i]; _root["MC"+i].onRelease = function(){ Hflag = i; trace(Hflag); } } これでプレビューするとステージには下記のかたちで表示されます。 □ Answer1 □ Answer2 □ Answer3 □ Answer4 クリックするとチェックマークが入るというものを作ろうとしているのですが、Hflag = i で項目毎に番号宣言させて、その番号にしたがってチェックマークを表示させようと考えたのですが、なぜかすべて Hflag は 4 と出力されてしまいます。これはなぜなのでしょうか?まだfor文とduplicateMovieClipは覚えたばかりなので、理解に間違いがあるだとは思うのですが、どうにも上手くいかずに困っています。 for文、duplicateMovieClipなど、この辺りのご指摘と共にご回答をいただきたく思います。 よろしくお願いします。
- ベストアンサー
- Flash
- for文の処理で・・・
こんにちは。Actionscript3.0で、 以下のようなスクリプトを動かしたいのですが、 menupositionReset(); function menupositionReset():void { for (var i:int = 1; i <= 10; i++) { trace("menu_mc" + i); ["menu_mc"+i].x=500; } } これを実行すると、 1083: Syntax error: dot is unexpected. と表示されて動きません。menu_mc01~10を500ピクセル動かしたいだけなのですが。。。 スクリプトはステージの1フレーム目に記述しています。 ["menu_mc"+i].x=500;でエラーが出ているようです。 なぜ動かないのでしょうか?
- ベストアンサー
- Flash
- FLASHでムービークリップ名を変数で持つ場合のloadmovie
FLASHMXで空ムービークリップを作成して その中に外部SWFを読み込むスクリプトを書いています。 外部ファイルはa0.swfからa10.swfまであるのでそれを全て読み込む為に 空ムービークリップ名を変数で持ちたいのですが loadmvieの行では変数と認識してくれないようで何も表示されません。 (traceの行の2つの変数は正常に表示されますし 直接ムービークリップ名を入れれば読込もできます) おそらく下のソースの例だとpart_mcは変数名なのに そのままムービークリップ名と捕らえられてしまっているようです。 どのようにすれば変数と認識してくれるのでしょう? for (var i = 0; i<10; i++) { var part_mc = "a10" + i + "_mc"; var loadfile = "a" + i + ".swf"; _root.createEmptyMovieClip(part_mc, 100+i); _root.part_mc.loadMovie(loadfile); _root.part_mc._x = i * 10; trace(loadfile); trace(part_mc); } アドバイスをお願いします。
- ベストアンサー
- グラフィックソフト
- forでonRollOverを一回で書くには?
下の内容をfor文を使って一回で書くにはどのようにすればよいですか? _root.a0.onRollOver = function(){ trace("0"); } _root.a1.onRollOver = function(){ trace("1"); } _root.a2.onRollOver = function(){ trace("2"); } 下のように書いてみましたが、どのmcにロールオーバーしても "2" と表示されてしまいます。 for(i=0; i<3; i++){ _root["a"+i].onRollOver = function(){ trace(i); } }
- ベストアンサー
- Flash
- 【as3.0】for~文で変数に連番を適用したい
初めてAS3.0を使用してゲームを作成しています。 5枚のムービークリップの位置をシャッフルしたいのですが、 シャッフルさせるイベントをそれぞれのムービークリップに適用させることが出来ずに困っています。 以下、現在のスクリプトです。 import flash.events.Event; var mixarrayX:Array = [0,60,120,150,200];//x位置のパターン var mixarrayY:Array = [0,20,50,80,90];//y位置のパターン this.addEventListener(Event.EXIT_FRAME,syaful); function syaful(e:Event):void { //ランダムで位置のパターンを抜き出す var syafulPTX1:int = (Math.random() * mixarrayX.length); var syafulPTY1:int = (Math.random() * mixarrayY.length); //カードの位置【x,y】を当てはめる var mix1:Array = [mixarrayX[syafulPTX1], mixarrayY[syafulPTY1]]; //MC1に抜き出した位置を適用させる MC1.x = mix1[0]; MC1.y = mix1[1]; //今回のパターンを配列から抜き出す。 syafulPTX1 = mixarrayX.shift(); syafulPTY1 = mixarrayY.shift(); } removeEventListener(Event.EXIT_FRAME,syaful); } for文を使って各変数の「1」等のナンバーにiを適用させて、ループさせれば良いとは思うのですが、 ["MC"+i]等と入力してもエラーになってしまいます。 for文で変数を宣言する場合の正しい書き方を教えていただけると助かります。 何卒、よろしくお願い致します。
- ベストアンサー
- Flash
- For文と配列
下のFor文でセルに0から9999の数字を入力しようとしたのですが 「forで指定された変数は既に使用されています」というエラーがでます。 Dim i As Integer Dim Num(3) As Integer For Num(0) = 0 To 9 For Num(1) = 0 To 9 For Num(2) = 0 To 9 For Num(3) = 0 To 9 Cells(i, 1) = Num(3) + Num(2) * 10 + Num(1) * 100 + Num(0) * 1000 i = i + 1 Next Num(3) Next Num(2) Next Num(1) Next Num(0) 他には何にも書いていないマクロなので他所で使用しているとも思えないですが うまくゆきません。 続きの作業でNum()を配列として作業したいのでこの形を変えたくありません。 何がいけないのでしょう?
- ベストアンサー
- オフィス系ソフト
- アクションスクリプト2.0でfor文の出力結果
for (i = 1; i < 53; i++) { this["pad"+i].onRelease = function() { trace("pad"+i); }; } pad1~pad52というインスタンス名のムービークリップを配置します。 ムービークリップを押したときに各番号をtraceしたいのですが、 すべて"pad53"という同じ結果(出力)になってしまいます。 よくよく考えてみるとそうなってしまうな・・・ というのはわかるのですが、どこをどのように変更すれば よいのか思いつきません。。。 根本的に考え方が違うのでしょうか。 よろしくお願いいたします。
- 締切済み
- Flash
- JavaScriptでfor文
初歩的な事ですが教えて下さい。 for文で宣言した変数をfor文内で変更した時、 通常の記述で上手く動作しません。 どのようにしたら良いのでしょうか? 意味をなさないfor文ですが… for (var i=0; i<5;i++){ alert("i=" + i); i=4; //ここが上手くいかない } 以下のようにすると意図した通りになります。 が、なんかかっこ悪い?違う気がする… for (var i=0; i<5;){ alert("i=" + i); i=4; //これだと上手くいく i++; } 上記以外のメジャーな方法って有るのでしょうか? それともこれが最善でしょうか?教えて下さい。
- ベストアンサー
- JavaScript