• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:actionscriptの記入の仕方で、わからないところがあります。)

actionscriptの記入の仕方で、わからないところがあります。

H240S18B73の回答

  • ベストアンサー
回答No.1

var urlList:Array=new Array() urlList.push("http://aaaaaaa.com/") urlList.push("http://bbbb.info/") urlList.push("http://ccc.co.jp/") urlList.push("http://ddddd.jp/") btn.onPress = function() { for (i=1; i<=4; i++) { if (n == i) { getURL(urlList[i-1]); } } }; 配列でもいいんならこれで大丈夫だと思います

関連するQ&A

  • ActionScript3で乱数を取得しなおかつ隣とかぶらない続き

    ActionScript3で乱数を取得しなおかつ隣とかぶらない続き 以前この質問をさせてもらったのですが、http://okwave.jp/qa/q6030004.html 前回の答えを少しステップアップを目的に処理を一つの関数にすればソースがすっきりできるのではないかと思い以下のようにしてみましたが変数の値が保存されません。 (前回のページを参照:http://okwave.jp/qa/q6030004.html) function btnClickAction(aaa:int,bbb:int,ccc:int,txt:TextField,ddd:int):void { var past:int=aaa; var now:int=bbb; var nowPartner:int=ccc; var txtArea:TextField=txt; var max:int=ddd; past=now; //臨時の配列を初期化 var tmpArr:Array=new Array ; //臨時の配列の要素0~9に数を代入 for (var i:int=0; i<=max-1; i++) { tmpArr[i]=i+1; } //臨時の配列のpast要素を抜きとる tmpArr.splice(past-1,1); //臨時の配列のpartPartner要素を抜きとる for (i=0; i<=tmpArr.length-1; i++) { if (tmpArr[i]==nowPartner) { tmpArr.splice(i,1); } } //今のデータを作成 var rnd:int=Math.floor(Math.random()*tmpArr.length); now=tmpArr[rnd]; //今のデータを表示 txtArea.text=String(now); } にして btn1.addEventListener(MouseEvent.CLICK, btn1Click); function btn1Click(evt:MouseEvent):void {  btnClickAction(past1,now1,now2,txt1,10); } とするとpast1,now1,now2の値が保存されないのです、やはりこの処理は一つの関数にはできないのでしょか? ■制作環境 FlashCS4 ActionScript3

    • ベストアンサー
    • Flash
  • ActionScript3:Tweenをfor文で割り当てられないのか

    ActionScript3:Tweenをfor文で割り当てられないのか? AS3でaddChildでMovieClipを複数置いてTweenをfor文で割り当てるということをやろうとしているのですが、どうしても順番で最後のMovieClipしか動きません。 以下のようにコーディングしてボタンを5個を並べてマウスオーバーするとTweenアニメで動き、またアウトするとTweenアニメで元の位置に戻るというものを作りたいのですが、5番目のボタンしか動きません。Tweenはfor文で割り当てられないのでしょうか? //クラスのインポート import fl.transitions.Tween; import fl.transitions.TweenEvent; import fl.transitions.easing.*; //ボタン配置 for (var i:uint=1; i<6; i++) { var BtnName:String="btn0"+i; var BtnNumber:Class=getDefinitionByName(BtnName) as Class; var Btn:MovieClip = new BtnNumber(); addChild(Btn); Btn.x=10+Btn.width/2+(Btn.width+10)*(i-1); Btn.y=46+Btn.height/2; Btn.buttonMode=true; Btn.id=i; ←idというプロパティを付けてもダメでした Btn.addEventListener(MouseEvent.ROLL_OVER, RollOverEv); Btn.addEventListener(MouseEvent.ROLL_OUT, RollOutEv); function RollOverEv(eventObject:MouseEvent):void { BtnTween01=new Tween(Btn,"y",None.easeNone,Bottom,Top,MovSpd,true); ↑このBtnがi=5としか認識してないようです。 if (BtnTween02.isPlaying) { BtnTween01=new Tween(Btn,"y",None.easeNone,BtnTween02.position,Top,MovSpd,true); ↑このBtnがi=5としか認識してないようです。 } } function RollOutEv(eventObject:MouseEvent):void { BtnTween02=new Tween(Btn,"y",None.easeNone,Top,Bottom,MovSpd,true); ↑このBtnがi=5としか認識してないようです。 if (BtnTween01.isPlaying) { BtnTween02=new Tween(Btn,"y",None.easeNone,BtnTween01.position,Bottom,MovSpd,true); ↑このBtnがi=5としか認識してないようです。 } } } //変数色々設定 var BtnTween01:Tween; var BtnTween02:Tween; var Top:uint=Btn.height/2+5; var Bottom:uint=Btn.height/2+46; var MovSpd:Number=0.2; ■環境:ActionScript3、Flashサイズ:w;280xh:100

    • ベストアンサー
    • Flash
  • actionscript3.0 rotationについて

    actionscript3.0 rotationについて btnを押すごとにmcを時計回りに90度減速させながら回転させたいと思っています。 しかし2回ボタンを押して180度回転させるまではうまくいくのですが 3回目に270度になると、回転がとまりません。 分岐させて、-90度回そうと思うと(当たり前ですが)逆回転してしまいます。 どのように記述すればよいでしょうか? よろしくお願いします。 以下スクリプトです。 var i:int=0; function onEnter(event:Event):void{ mc.rotation += (i-mc.rotation)*0.1; } addEventListener(Event.ENTER_FRAME, onEnter); btn.addEventListener(MouseEvent.MOUSE_DOWN, MouseLDownFunc); function MouseLDownFunc(event:MouseEvent):void{ i+=90; };

    • ベストアンサー
    • Flash
  • ActionScriptで、押したボタンの判別方法を教えてください。

    ActionScriptで、押したボタンの判別方法を教えてください。 ActionScript3.0で作成しています。 6フレームの【oya_mc】というムービークリップの各フレームに フレーム1ラベル[m1]に【ko1_mc】 フレーム2ラベル[m2]に【ko2_mc】 フレーム3ラベル[m3]に【ko3_mc】 フレーム4ラベル[m4]に【ko4_mc】 フレーム5ラベル[m5]に【ko5_mc】 フレーム6ラベル[m6]に【ko6_mc】 というムービークリップを配置しています。 配置しているムービークリップには、それぞれ6個のボタンを呼び出して配置しています。 【btn1】【btn2】【btn3】【btn4】【btn5】【btn6】 【btn3】を押したときに【oya_mc】を3フレーム目に移動。 【btn6】を押したときに【oya_mc】を6フレーム目に移動。 というようにしたいのですが、なかなかうまくいきません。 FLASH初心者ですが、どうかご指導よろしくお願いします。 【ko1_mc】に書いたスクリプトを抜粋して書きます。 ------- for(var i:int = 1; i <= 6; i++){ this["btn" + i].addEventListener(MouseEvent.CLICK,Down); function Down(mo:Event):void{ MovieClip(parent).gotoAndPlay("m"+i); } } ------- よろしくお願いします。

    • ベストアンサー
    • Flash
  • actionscript 3.0 の外部リンク

    初めて質問させていただきます。 Flash CS3 のactionscript3.0にて、サイト内リンクのボタンを作成したのですが、 フラッシュを読み込んだ時点で、インスタンスthe URL4がポップアップで開いてきてしまいます。 そのような記述をしていないのでどうしたら良いか分からず… 何かお知恵をお貸しいただけると幸いです。 よろしくお願い致します。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ↓実際に書いたacitonscriptです。URLはダミーです。 //theURL1という変数に代入し、URLRequestのインスタンスを生成 var theURL1:URLRequest = new URLRequest("http://www.111/A.html"); var theURL2:URLRequest = new URLRequest("http://www.222/B.html"); var theURL3:URLRequest = new URLRequest("http://www.333/C.html"); var theURL4:URLRequest = new URLRequest("http://www.444/D.html"); navigateToURL(theURL1); navigateToURL(theURL2); navigateToURL(theURL3); navigateToURL(theURL4); // イベントリスナーの登録 A_btn.addEventListener(MouseEvent.CLICK,gotoURL1); B_btn.addEventListener(MouseEvent.CLICK,gotoURL2); C_btn.addEventListener(MouseEvent.CLICK,gotoURL3); D_btn.addEventListener(MouseEvent.CLICK,gotoURL4); // URL1へジャンプする function gotoURL1(event:MouseEvent):void { var theURL1:URLRequest = new URLRequest("http://www.111/A.html"); navigateToURL(theURL1,"_self"); } // URL2へジャンプする function gotoURL2(event:MouseEvent):void { var theURL2:URLRequest = new URLRequest("http://www.222/B.html"); navigateToURL(theURL2,"_self"); } // URL3へジャンプする function gotoURL3(event:MouseEvent):void { var theURL3:URLRequest = new URLRequest("http://www.333/C.html"); navigateToURL(theURL3,"_self"); } // URL4へジャンプする function gotoURL4(event:MouseEvent):void { var theURL4:URLRequest = new URLRequest("http://www.444/D.html"); navigateToURL(theURL4,"_self"); }

  • ActionScriptでサウンドをループさせる

    ActionScriptでサウンドをループ再生させたいです。 var url : URLRequest = new URLRequest("xxx.mp3"); var sound_obj : Sound = new Sound(url); sound_obj.play(0,1); とすることで目的のサウンドを1回だけ再生させることができるのは分かるのですが、 無限にループ再生させたい場合は sound_obj.play(0,1); の第二引数にどの値を入れればいいのでしょうか? よろしくお願いします。

  • ActionScriptのLoaderクラス

    以下、FLASHのカテゴリーがあることに気付かずに、プログラミング(その他)に投稿してしまいましたので、再投稿いたします。よろしくお願いいたします。 以下はActionScript3.0を用いたフォトギャラリーで、外部のXMLファイルに記述しているパスをFLASH上に読み込み、それを参照して外部のフォルダからサムネイル画像を読み込むプログラムの一部です。 おそらく、ActionScriptの超初歩的なことが分かっていないのだと思います。 申し訳ございませんが、ご教示ください。 1 var thumbLoader_obj:Loader; 2 for(var i:uint=0;i<8;i=i+1){ 3 var thumbBtn:MovieClip=this["btn0"+(i+1)+"_mc"]; 4 var thumbUrl:URLRequest=new URLRequest(imgThumb_arr[i]); 5 thumLoader_obj=new Loader(); 6 thumbLoader_obj.load(thumbUrl); 7 thumbLoader_obj.x=3; 8 thumbLoader_obj.y=3; 9 thumbBtn.addChild(thumbLoader_obj); 10 } 以上は配列:imgThumb_arrに格納しているサムネイル画像のパスを参照して、loadメソッドを用いて インスタンス:thumLoader_objに読み込んだサムネイル画像を、サムネイル画像の枠を格納しているインスタンス:thumbBtnにループ処理で配置させるプログラムです。 3行目からわかる通り、サムネイル画像の枠のインスタンス名はbtn01_mc~btn08_mcで、 7行目と8行目は単なるサムネイル画像と枠の配置調整のための座標設定です。 さて、質問なのですが、5行目の代わりに1行目を thumLoader_obj=new Loader(); と書いて、5行目をコメントアウト(もしくは削除)してもプログラム的には問題ないように初心者の私には思えてしまうのですが、このようにすると、最後のサムネイル枠(btn08_mc)にしかサムネイル画像が読み込まれません。最初の通りだとすべての枠に該当するサムネイル画像が読み込まれてうまくいきます。明らかなプログラム上の違いがあるのだと思いますが、調べてみても簡単には分かりませんでした。どなたか、お教えいただければ幸いです。

  • getURLを使用したときのGETの引数について。

    getURLを使用したときのGETの引数について。 いつもお世話になっています。 GET扱われ方について分からないことがあったので、教えてください。 インスタンス名【bot1】にgetURLを指定して飛ばすと、どうしてもIEで 見たときにうまく表示されませんでした。 bot1.onPress = function(){ getURL("../estate/e_list.html?category=11&public=2");} それでgetURLの引数が足りないのかと思い bot1.onPress = function(){ getURL("../estate/e_list.html?category=11&public=2","" ,"get");} とした所、URLにbot1にマウスオーバー時に指定している関数名等が表示されて、これもうまくいきませんでした。 結局URLを変数に入れて、getURLに渡すとうまくいきました。 処理的にはうまくいったのですが、なぜgetURLに引数を指定したときに、予期しない値がURLに表示 されてしまったのでしょうか。 いくら調べても分かりませんでした。 お忙しい中大変申し訳ないのですが、 教えてください。 宜しくお願いします。

    • ベストアンサー
    • Flash
  • getURLへの変数が参照されない

    こんにちは。 FLASH ActionScript2の、getURLへの変数が参照されない件で困っています。 MC1をRollOverするとテキストフィールドareaにTarea1(あ)が入り、 更にMC1をクリックするとTurl1(a)のURLに飛ぶ、というスクリプトを作っています。 しかし現状ですと、RollOverはうまくいくのですが、クリックしたときのgetURLがうまくいきません。 変数「a.html」に飛ばず、「Turl1.html」に飛んでしまいます。 変数が参照されていないということなのでしょうか。 なにぶん初心者ですので、質問自体に誤りがあるかもしれませんが、ご教授頂けたらと思います。 よろしくお願いします。 ■スクリプト var Tarea0 = ""; var Tarea1 = "あ"; var Tarea2 = "い"; var Tarea3 = "う"; . . var Tarea42 = "ゆ"; var Tarea43 = "よ"; var Tarea44 = "ら"; var Turl1 = "a"; var Turl2 = "i"; var Turl3 = "u"; . . var Turl42 = "yu"; var Turl43 = "yo"; var Turl44 = "ra"; i = 0; sx = 0; for (x=0; x<45; x++) { str = "mc"+String(i); _root["mc"+i].Tarea = "Tarea"+i; _root["mc"+i].onRollOver = function() { area.variable = this.Tarea; }; _root["mc"+i].onRollOut = function() { area.variable = "Tarea0"; }; _root["mc"+i].Turl = "Turl"+i + ".html"; _root["mc"+i].onRelease = function() { getURL(this.Turl); }; i++; } ■環境 WINDOWS XP FLASH8 ActionScript2.0

    • ベストアンサー
    • Flash
  • 【AS3】配列を使って複数のボタンに別々のリンク先を指定するスクリプト

    【AS3】配列を使って複数のボタンに別々のリンク先を指定するスクリプトを教えてください。 配列を使って、btn1、btn2、btn3というインスタンスに それぞれ別のリンク先を設定したいと思っています。 実際には15個以上のリンクボタンを設置したいので、 配列を使ってできるだけ短いスクリプトにしたいです。 ---------------------------------------------- for (var i:int = 1; i < 4; i++) { this["btn"+i].addEventListener( MouseEvent.CLICK , onClick ); } function onClick( event:MouseEvent ) { var url:Array = new Array(); url[1]="http://www.yahoo.co.jp"; url[2]="http://www.google.co.jp"; url[3]="http://www.goo.ne.jp"; for(var i:int = 1; i < 4; i++){ if (this ["btn"+i]) { var link:URLRequest=new URLRequest(url[i]); var target:String="_self"; navigateToURL(link,target); } } } ---------------------------------------------- 上のように記述してみたのですが、全てのボタンが 配列一番最後のリンク先(url3)になってしまいます。 traceで「i」を出力してみると 1 2 3 と出るので、 for(var i:int = 1; i < 4; i++){}で 全て繰り返してしまっているらしいことはわかりますが どこをどう修正すればいいのかわかりません; 初心者で恐れ入りますが、易しくご教示いただけると幸いです。

    • ベストアンサー
    • Flash