• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ActionScript3.0の記述が長い・・・)

ActionScript3.0の記述をスッキリさせる方法

このQ&Aのポイント
  • ActionScript3.0の記述をスッキリさせるためのまとめ方をご教授ください。
  • 初心者が知っていることしかできないため、同じような記述がたくさん出てきます。配列や演算子を使用してスクリプトをすっきりさせる方法を教えてください。
  • AからJまでの変数に関するまとめ方を教えてください。

質問者が選んだベストアンサー

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

(1) for each(var item in [a,b,c,d,e]){ item.restrict="0-9" } (2) var A,B,C,D,E:Number for(var i in [A,B,C,D,E]){ [A,B,C,D.E][i]=Number([a,b,c,d,e][i].text) } (3)a 何がしたいかよくわかりません ほしいのはDだけなので ACを作らずにすむ方法が知りたいってことですか? とするとCの所のくだりって必要ない気がするんですが… (Cが負になるのはAかBのどちらか片方が負ってことだけど Aはまず負にならないようにされてるし Bが負ならAは0になるからA/Bも当然0になる) むしろBが0だったりしたらエラーになって邪魔 なので結局 D=A/B*B で D=A var D=Math.round(Math.max(B-100,0)) こういうことではなく? (3)b 2と同じ

oootes_001
質問者

補足

ご回答ありがとうございます。 (1)は出来ました。 ありがとうございます。 (2)、(3)b(間違えて(3)が2つありました。。)はエラーになってしまいます・・・ 「シンタックスエラー:identifierがassignの前に必要です。」 「メタデータ属性が複数のエレメントを持つことはできません。」 と出てきてしまいます。 恥ずかしながらこのエラーの意味もよくわかっていないので、 ご教授お願い致します。 (3)a は、 「A < 0」「B < 0」「D < 0」の時に「A = 0」「B = 0」「D = 0」 という記述を一緒に出来ないかという意味でした。 絡んでくる実際の変数はABCDEの5つではなく、 必ずしもH240S18B73様の仰っていた結果にならないのです。 お手数をお掛け致しますが、よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

失敗しました… 2のやり方はプリミティブな型の変数ではダメですね ASでは数とか文字列なんかのプリミティブな型は 配列にいれても参照にならないので こういうやり方で巡回しても ダメなんでした、すいません var A,B,C,D,E:Number var varArr=["A","B","C","D","E"] for(var i in varArr){ this[varArr[i]]=parseFloat([a,b,c,d,e][i].text) } ってことで3も同じようなカンジですね

oootes_001
質問者

お礼

何度もご回答ありがとうございました。 ですが、またエラーが出てしましました。 「Number のプロパティ text を作成できません。」 というエラーです。。。 今回は単純に「そのような記述法があるのかなぁ」と思いご質問させていただき 実装できていないというわけではないので、諦めます・・・ 勉強して出直してきます。 H240S18B73様 どうしようもないようなご質問に何度もお付き合いいただきましてありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • actionscriptの配列について

    antionscript初心者ですが、配列について質問があります。 使っているソフトはadobe flash CS3 professionalです。 配列を利用する際に 入力テキストやダイナミックテキストを入れるということはできないのでしょうか? ↓入力テキストの方 Var x: Array=new Array(2); x[0]= ○○.text; x[1]= ●●.text; ↓ダイナミックテキストの方 Var y: Array=new Array(2); y[0]= □□.text; y[1]= ■■.text; そのあとボタンをクリックしたら for(var i : int =0; i<x.length; i++){ if(x[i]>=5){ y[i]="A" }else if(x<5){ y[i]="B" } } というように 入力テキストにいれられた数値に応じてダイナミックテキストに文字を表示させたいのですが、うまくいきません。初心者なので意味不明な質問になっているかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Flash
  • actionscript 3.0 初心者です

    現在bitmap処理について調べています。 以下の記述に置いて、ライブラリーにあるpng画像をbitmapで読み込みました。 この画像はswfファイルに埋め込み済みでクラスをtokyo1としています。 続いて、これを.draw()を使って画像に変化を起こそうとしましたが、 こちらはうまく行きませんでした。 どこかおかしいのでしょうか?お心当たりございましたら是非よろしくお願いします。 import flash.display.BitmapData; import flash.display.Bitmap; import flash.geom.Matrix; import flash.geom.ColorTransform; var rectX:Number=40; var rectY:Number=30; var rectwidth:Number=20; var rectheight:Number=20; var rect1:Rectangle=new Rectangle(rectX,rectY,rectwidth,rectheight); var btm_data:BitmapData=new tokyo1(); var btm_obj:Bitmap=new Bitmap(btm_data,PixelSnapping.AUTO,false); var matrix:Matrix=new Matrix(2,0,0,3,0,0); var color:ColorTransform=new ColorTransform(1,1,1,1,0,0,0,0); btm_data.draw(stage,matrix,color,BlendMode.NORMAL,rect1,true); addChild(btm_obj);

    • ベストアンサー
    • Flash
  • 複数条件のIFの入れ子の方法

    Excel2010です。 複数グループの判定条件を入れ子で記述したいのですがうまくいきません。 1グループでは次のようにできました。 =IF(OR(A5=1,B5=1,C5=1,D5=,1),A10,0) A5からD5のうちどれかが1ならA10に表示されているテキストを表示せよ。 2グループでは次のように記述しましたがうまくいきません。 =IF(OR(A5=1,B5=1,C5=1,D5=,1),A10,IF(OR(E5=1,F5=1,G5=1,H5=,1),A15,0) ) これが5グループまで続きます。とりあえず1グループずつ確認しているのですが2グループでうまくいきません。教えてください。

  • 配列から指定した値を取得する関数

    $itemから["a"]の値だけを取り出した配列を呼び出す関数を作成したいのですが、この様な配列の場合はどうしたら良いのでしょうか? $item var_dump( $item ); array(1) { [0]=> object(data)#1 (5) { ["a"]=> int(1) ["b"]=> string(1) "2" ["c"]=> string(7) "string1" ["d"]=> string(7) "string2" ["e"]=> string(8) "keyword1" } [1]=> object(data)#2 (5) { ["a"]=> int(3) ["b"]=> string(1) "4" ["c"]=> string(7) "string3" ["d"]=> string(7) "string4" ["e"]=> string(8) "keyword2" } }

    • ベストアンサー
    • PHP
  • これはどういう記述ですか?

    すでにできあがってるサイトを自分なりに改造しながら勉強してる者です。サイト自体はほとんどPHPなんですが会員にメールを送るPHPファイル内に以下の記述があります。 JavaScriptはまったく解らず、どういう意味のどういう処理の記述なんでしょうか?メール送信に関係ある記述ですか? どなたかお力添えお願いいたします。 <script language="JavaScript" type="text/JavaScript"> <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_goToURL() { //v3.0 var i, args=MM_goToURL.arguments; document.MM_returnValue = false; for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); } //--> </script>

  • actionscriptでの複数リンク

    こんにちは、いまフラッシュでサイトのトップページをつくっています。 ボタンを複数表示して、それぞれ同窓でリンクするようにしたいです。 ボタンを押して複数表示するようにはなったのですが、なぜかどのボタンを押しても同じリンク先に飛んでしまいます。URLは変えましたが、超初心者で関数のことなどがよくわかっていないため、ご教授いただけたらと思います。 一つめのボタンのアクションへの記述 click_btn.addEventListener(MouseEvent.CLICK,onHomeClick) function onHomeClick(e:MouseEvent):void { trace(e.type) var url:String="http://サイト1"; var urlrequest:URLRequest=new URLRequest(url); navigateToURL(urlrequest, "_self"); } 二つ目のボタンへの記述 click_btn2.addEventListener(MouseEvent.CLICK,onHomeClick) function onHomeClick2(e:MouseEvent):void { trace(e.type) var url:String="http://サイト2"; var urlrequest:URLRequest=new URLRequest(url); navigateToURL(urlrequest, "_self"); } 調べてコピペしたものが主です。初歩的な質問で申し訳ないのですが、よろしく御願いいたします。

  • Access クエリの記述に関して

    Access2007を使っています。 クエリの記述で解決できなかったのでアドバイスを頂きたいです。 処理内容は 大人数の毎月の体重を計測したデータがあります。 その月に計測しない人もいます テーブルの属性は3つ。 "個人ID","月数","体重" A,1,50 B,1,55 C,1,60 D,1,56 E,1,63 ・・・ A,2,51 B,2,54 C,2,63 E,2,62 ・・・ A,3,49 B,3,50 D,3,54 E,3,60 ・・・ このデータから "個人ID","1","2","3",・・・ A,50,51,49,・・・ B,55,54,,50,・・・ C,60,63,・・・ D,56,,3,・・・ E,63,62,60,・・・ というように、個人ごとの月による推移が分かるようなクエリを作り、CSVに出力したいと 考えています。 このようなクエリを教えていただけないでしょうか? またはもっと簡単な方法がありますか??    

  • 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"); }

  • actionscript3.0、XMLのリンク集

    actionscript3.0、XMLのリンク集 Flash、XMLともに初心者です。 Flashに外部XMLを読み込んで、更新のしやすいリンク集を制作したいと思います。 調べながら作っているのですが行き詰っております。。 やりたい事としては、 「swf内のテキストエリアに外部から読み込んだXMLを表示させリンクを張る」です。 例として ■A社 http://www.○○○.com ■B社 http://www.△△△.com ■C社 http://www.□□□.com のようなものです。 「■A社」の部分までは表示させることができたのですが、 その後URLを表示させリンクを張るという処理のしかたが分かりません。 あとなぜかXMLには複数行入っているのですがswfには1行目しか表示されません。。 制作したXMLとactionscriptは下記のようなものです。 <?xml version="1.0" encoding="utf-8"?> <data> <list name="■A社" /><url>http://www.○○○.com</url> <list name="■B社" /><url>http://www.△△△.com</url> <list name="■C社" /><url>http://www.□□□.com</url> </data> var xmlURL:URLRequest = new URLRequest("link.xml"); var xmlLoader:URLLoader = new URLLoader(); xmlLoader.load(xmlURL); var myXML:XML = new XML(); xmlLoader.addEventListener(Event.COMPLETE, xmlLoadStart); function xmlLoadStart(e:Event):void { myXML = XML(xmlLoader.data); trace(); link_txt.text = myXML.list[0].@name; } 環境はWin XP、Flash CS3、as3、flash player9です。 何卒お願い致します。

    • ベストアンサー
    • Flash
  • Javascriptで、以下の様な足し算をする場合、

    Javascriptで、以下の様な足し算をする場合、 aからdのいずれかが空白の時には計算結果が表示されません。 いずれかが空欄の場合はその値をゼロとみなして計算結果を 表示したいのですが、記述方をご教授頂けないでしょうか。 用いる演算は、足し算と引き算のみを想定しています。 基本的な内容かとは思いますが、宜しくお願いします。 <script> var a = 1; var b = 3; var c = 5; var d = 7; document.write(a+b+c+d); </script>