1 名前:Now_loading...774KB mailto:sage [2011/12/25(日) 02:37:34.48 ID:APghLI2o] AcitonScriptのことなら 初歩的な質問でもなんでもおk 見れない、保存したい、flashを作りたいはスレ違い 下記の関連スレ、超基本的な質問へ。 ●質問する時は自分の環境を書く(AS2,AS3の別も) ●質問はものすごい勢いじゃなくて結構 ●できるだけコードも示す ●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く 前スレ ActionScript 誰かが物凄い勢いで解答するスレ29 toro.2ch.net/test/read.cgi/swf/1309349827/ 関連スレ Flashの超基本的な質問はここでしろ! part42 hibari.2ch.net/test/read.cgi/swf/1305783143/ ※初心者は↑こちら推奨 ActionScript ライブラリ総合 hibari.2ch.net/test/read.cgi/swf/1308658905/
263 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 14:21:20.72 ID:o5SxRP9k] AS2か3なら使えるのでしょうか?
264 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 14:30:09.40 ID:9Rn+Z/v+] 10なのにAS1を使う理由がまったくないな
265 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 14:30:55.86 ID:UL0KTdNX] m4aはローダー作ってる人いたけど、基本はmp3だけだろうな
266 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 14:34:26.63 ID:AOoGwUT/] >>263 mp3じゃだめなの?
267 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 14:36:00.62 ID:o5SxRP9k] AS1に拘る理由は全くないです、AS2か3で使えるならそちらにします 商用なのでmp3は使えません
268 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 14:39:21.35 ID:AOoGwUT/] >>267 oggとかが使えるかどうかわからんがAS3のほうがいいよ
269 名前:Now_loading...774KB [2012/02/12(日) 18:40:52.27 ID:Va1DU68x] >>267 AS1,2は無理 AS3は自前でデコードするなら何でも可能 ただmp3はFlashに埋め込んどけばいいんじゃね?
270 名前:Now_loading...774KB mailto:sage [2012/02/13(月) 19:44:20.87 ID:AhhPa0c+] CS5,WinXP,AIR2.0ですが、addChildしたテキストフィールドが滲んで(にじんで)しまい 困ってます。 uproda11.2ch-library.com/335444A65/11335444.png の右上の sheetBase_0 の部分 CS5のライブラリにMC(SheetTitle)があり、これをnewして灰色の部分(SheetBase)にaddChild しています。 階層構造は、下の通りです。 親 ┗SheetBase ┗SheetTitle ┗テキストフィールド(入力型つまりインプット型) ← ここが滲む(にじむ) CS5なのでフォント埋め込みが必要ですが、フォントを設定(MSP ゴシック,日本語,・・・など) をしてもこの状態です。 他の文字列「Words」とか「179」はにじんでいませんが、SheetTitleのテキストフィールド文字列 だけこんな感じです。 SheetTitle内のテキストフィールド位置は(0, 0)なので滲まないようにしているのですが・・・ 考えられる原因は何でしょうか?
271 名前:Now_loading...774KB mailto:sage [2012/02/13(月) 20:32:02.28 ID:KUOA6RJ2] 滲みっていうか、単にアンチエイリアスがかかってるだけじゃねーの?
272 名前:270 mailto:sage [2012/02/13(月) 22:03:51.77 ID:AhhPa0c+] >>271 さんきゅう。 デバイスフォントでOKでした。
273 名前:Now_loading...774KB [2012/02/14(火) 12:01:31.66 ID:imvGWgVk] AS2.0でダイナミックテキストにUIScrollBarを使っていて、テキストを「選択不可」にするとマウスホイールが使用出来なくなるんですが、良い解決方法知ってる方いませんか? www1.axfc.net/uploader/File/so/75355
274 名前:Now_loading...774KB [2012/02/14(火) 20:34:24.97 ID:jJNmIoEx] AS3 画像(pngファイル)を読み込み、ボタンとして使いたい [Embed(source = "../img/btnX.png")] private var _btnX:Class; var btnX:Sprite = new _btnX() as Sprite; btnX.x=100; btnX.y=100; addChild(btnX); 上記のコードを書いたのですが、実行するとbtnX.x=100;の行でエラーになり、 btnXの中身を見るとnullになっています 元々はBitmapクラスを生成して表示していたのですが、 BitmapクラスだとbuttonModeプロパティが無いためSpriteにしようとしてこうなりました。 ネットでもいろいろと調べたんですが、今ひとつ要領を得ません。 (BitmapをSpriteにするだけで良い、という記述も見かけたんですが今回の通りです) どなたか教えて下さい。
275 名前:Now_loading...774KB [2012/02/14(火) 20:41:37.45 ID:9wqtRWSQ] 初心者です。 Arrayを使って複数のインスタンスを格納した「arr1」を 別のArrayを使った「arr2」に格納できますか? スプリクトの書き方を教えてください。 あと Ver vec1 :Vector .<displayobject>=newVector.<displayobject>()と記述して ムービークリップとテキストを一緒に格納したとき、 テキスト(moji)をmoji.text =“○○”で文字を表すことはできないでしょうか、 あとインスタンスによってはmouseEnableを使用すると、コンパイルエラーになります。
276 名前:Now_loading...774KB mailto:sage [2012/02/14(火) 20:55:22.68 ID:OU99ITjo] >>274 pngはBitmapで生成して、親としてSprite作ってaddChildしたら?
277 名前:Now_loading...774KB mailto:sage [2012/02/14(火) 21:11:55.31 ID:YKYzmDoG] >>274 その埋め込みはnewするとBitmapAssetとかいうほぼBitmapクラスになるから as Spriteの時点でnullになっちゃう なのでBitmapとして受けること >>276 でいいんじゃね ちなみにBitmapとSpriteは親戚っちゃ親戚だけど直系じゃないから BitmapをSpriteにするだけで良いという発想はありえないよ >>275 Arrayをコピーする方法は無いのでループでひとつづつ入れなおす vec1から出すときはDisplayObjectとして出てくるので (vec1[i] as TextField).text = "○○"; のようにすれば可能(vec1[i]がTextFieldなら) mouseEnabledも同様にInteractiveObjectのプロパティなのでDisplayObjectとして出した場合には設定できない
278 名前:274 mailto:sage [2012/02/14(火) 21:17:46.21 ID:jJNmIoEx] >>276 出来ました!ありがとうございます!
279 名前:274 mailto:sage [2012/02/14(火) 21:19:08.04 ID:jJNmIoEx] すみません、リロ忘れ… >>277 さんも丁寧にありがとうございました!
280 名前:Now_loading...774KB mailto:sage [2012/02/14(火) 21:53:21.02 ID:OU99ITjo] Arrarのconcat()でコピーできなかったかなと思って調べたら、浅いコピーは出来るみたいだな 中身が同じインスタンスを指すんでよければこれでいいんじゃね?
281 名前:Now_loading...774KB mailto:sage [2012/02/15(水) 14:54:35.94 ID:IGftIFeq] >>275 ArrayにArrayを入れられるか?という話なら普通に出来るが…。arr2.push(arr1);
282 名前:Now_loading...774KB mailto:sage [2012/02/15(水) 16:45:29.75 ID:LxmKkw/C] > new Vector.<displayobject>() DisplayObjectなんかのプリミティブ型以外のオブジェクトなら通常のArrayでも 速度的には大差無いと思うんだけど実際のところどうなんだろな
283 名前:Now_loading...774KB [2012/02/15(水) 19:26:38.22 ID:FWjTH1OX] >>281 うまくいきません。 arr1をarr2に入れて、別のarr3にもarr1を入れてるからかな。
284 名前:Now_loading...774KB mailto:sage [2012/02/15(水) 19:39:40.91 ID:BhE6EVFB] >>283 出来ないわけないが、質問の意図が、 arr1に入れた要素全てをarr2に入れられますか? ってことなら、やり方が違う。 arr1に入れた要素全てを取り出して、arr2に入れないといけない。
285 名前:Now_loading...774KB [2012/02/15(水) 20:37:32.99 ID:FWjTH1OX] 例えばarr1にムービークリップを例えばa.b.cの3つのインスタンスを入れて、 arr2にはd.e.fを入れて、 arr3にはarr1とarr2を入れる。 Aボタンを押すとaを表示してb.Cを非表示に。 Bボタンを押すとdを表示してe.fを表示に。 このときa〜f全部が別のボタンを押すと非表示になったり半透明になったりする動作をしたいのでarr3でまとめて指示したいのです。
286 名前:Now_loading...774KB mailto:sage [2012/02/15(水) 20:44:57.70 ID:BhE6EVFB] arr3にa,b,c,d,e,fを入れればよい。 Array#concat()を使ってもいけると思うが確認してくれ。
287 名前:Now_loading...774KB mailto:sage [2012/02/15(水) 21:13:57.53 ID:j6tOuJtE] >>285 arr1 = [a,b,c]; arr2 = [d,e,f]; ary3[0] = arr1; ary3[1] = arr2; ary3からaを参照するには、ary3[0][0] ary3からfを参照するには、ary3[1][2] これでどうだ
288 名前:Now_loading...774KB [2012/02/15(水) 22:08:05.79 ID:lXG89CQk] AS3のスクロール可能なテキストフィールドで質問(AIR1.5,CS4)。 例えば、あるMC内に800×600の縦スクロール付きテキストフィールド(TF)を設置し、これに1000行の 文章を流し込んだとした場合、自動的にTFが表示する行数を取得する方法ってありますか? UIScrollBarクラスにはpageSizeプロパティがありますが、これは1ページ当たりの行数なので。 現段階では800×600の固定サイズですが、将来は随時変更可能してその時々の表示行数を 知りたいです。 ※TFは折り返し無しでそのまま表示します。
289 名前:Now_loading...774KB [2012/02/15(水) 23:04:15.54 ID:NNKP89Lx] >>286 concat()で行けました。 ありがとうございました!!
290 名前:Now_loading...774KB [2012/02/15(水) 23:25:13.17 ID:NNKP89Lx] スイマセンもう1個だけ質問。 複数のインスタンスをベクターに格納する場合 var vector : Vector.< DisplayObject > = new Vector.< DisplayObject >(); vector.push(mc); と var vector : Vector.< DisplayObject > = new Vector.< DisplayObject >(); vector[0] = mc; ではどっちで記述するのが正しいのでしょうか?
291 名前:Now_loading...774KB mailto:sage [2012/02/16(木) 01:55:31.89 ID:OqG0T3yN] どっちが正しいとかないが後者のほうが速いとは聞く
292 名前:Now_loading...774KB mailto:sage [2012/02/16(木) 11:12:47.51 ID:SteCjB9d] 可変長なら前者と言いたいところだが、 Vectorを使いたい時点で固定長を意識した方が良い。 Vectorでpushを使う時は可変長であることを明示的にするような時かなぁ。 まぁおれルールだけど。
293 名前:Now_loading...774KB [2012/02/16(木) 12:35:48.21 ID:g876XNz4] >>291 >>292 あざす。 2つ目の記述でやってみます!
294 名前:Now_loading...774KB [2012/02/16(木) 18:19:11.18 ID:g876XNz4] インラインフレームみたいのって作れるの?
295 名前:288 mailto:sage [2012/02/16(木) 19:41:09.85 ID:IOt2OXK2] すいません。誰か分かりますか? 要約すると、テキストフィールドサイズを 800×600 → 800×800 → 400×300 ・・・ とかで変化させた時の表示行数で、横方向のスクロールは常に設定しているので 各行が長くても水平スクロールで対処しています。
296 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 02:40:04.52 ID:YCyJ7oYl] まじで?vec[0]、vec[1]、vec[2]とか書くの? 開発中にvec[1]が不要になったら、いちいちvec[2]をvec[1]に書き換えるの?なんかカルチャーショックだわ
297 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 02:46:08.00 ID:SguoM0bg] pushでなくインデックス指定というだけの話だけど?
298 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 02:58:26.80 ID:YCyJ7oYl] >>295 よくわからんし、試してないけど livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/text/TextField.html に bottomScrollV 指定されたテキストフィールドの現在の表示範囲で最終行を示す整数です ってのがあるけど これでどう? >>297 いや、分かってるけど
299 名前:288 mailto:sage [2012/02/17(金) 11:08:33.95 ID:1fjEgm7M] >>298 さんきゅうです。 初期状態なら0から始まるのでbottomScrollVでも対処できますが、 スクロール途中では表示先頭行の番号が不明なので・・・ なんとかやってみます。
300 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 11:56:57.41 ID:KEIXzgCy] >>296 Vector使う時って10個の配列扱う時とかじゃないでしょ? ループを高速に処理したいからVector使うかってなるわけで、 そんなときはvec[i]とかそういうアクセスのしかたが普通でしょ。 もちろん開発中はずれることはあるだろうね。vec[i+3]になったりとか。
301 名前:Now_loading...774KB [2012/02/17(金) 17:31:22.55 ID:nDCWlPNW] >>299 scrollVとbottomScrollVの間が現在表示されてる範囲、と書いてあるが >>300 えー。そもそも大量に固定長の配列が必要になるって、何?
302 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 18:28:23.80 ID:p2jCZExJ] 話題のVector使ってみたけどなかなか大変だな undefinedがエラーなのはいいとして foo[ 0 ] = 10; foo[ 2 ] = 100;//順番で設定しないとエラーて! foo[ 1 ] = 1000;
303 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 18:44:33.05 ID:KEIXzgCy] >>300 言ってることがわからんが、 パーティクルとかの画像処理を短い可変長で処理することなんか考えにくいんだが。 ある程度まとまった同じ物を高速に処理したいから(処理したい要望が多いから)、 ベース型固定の配列Vector<T>が追加されたわけだ。 たいした数も無いのにわざわざ制限の多いVector使う必要性を感じない。
304 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 18:47:47.74 ID:KEIXzgCy] う、間違えた >>303 は>>301 宛
305 名前:Now_loading...774KB [2012/02/17(金) 19:45:50.63 ID:e9Df/ptL] Array・Vectorのことは みんなに教えてもらってすこしづつ分かってきたんですが、 本で三つのムービークリップをArrayを使用して 回転させる例があったんですけど、 var nWidth :int=stage.stageWidth; var arr :Array=[my0_mc.my1_mc.my2_mc]; mc_btn.addEventListener(MouseEvent.CLICK,BTA); function BTA(event:MouseEvent):void{ for(var i : uint = 0; i <nLengt; i++){ var my_mc:MovieClip=arr[i] my_mc.rotation+=5; }} これがよくわからないこと多くて。 var nWidth :int=stage.stageWidth;←よくわからない。 var arr :Array=[my0_mc.my1_mc.my2_mc];←よくわかる mc_btn.addEventListener(MouseEvent.CLICK,BTA);←よくわかる function BTA(event:MouseEvent):void{←よくわかる for(var i : uint = 0; i <nLengt; i++){←全然わからない。 var my_mc:MovieClip=arr[i]←よくわからない。 my_mc.rotation+=5;←my_mcでまとめて指示出せるの!? }} var arr :Array=[my0_mc.my1_mc.my2_mc]; mc_btn.addEventListener(MouseEvent.CLICK,BTA); function BTA(event:MouseEvent):void{ for each(var AAA:Object in arr){ AAA.rotation+=5;}} だけだと思っていたんですがスイマセン教えてください!
306 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 20:17:32.09 ID:S/ZZMj6I] >>305 for(var i : uint = 0; i <nLengt; i++){ これは、、、最初にiに0を入れて、iがnLengt未満の間はループして、毎ループ最後にi++するって命令 今回の場合、nLengtは3だから、iが0〜2の間だけループする だから、for eachで書くなら for each(var my_mc:MovieClip in arr){ my_mc.rotation+=5;}} と同じ nWidthはそのソース内で全く使ってないな
307 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 20:18:58.14 ID:S/ZZMj6I] >>303 いや。うん。だから、長い可変長で使うのが普通だよね >>292 が「Vectorは固定長を意識」とか言ってるから、それに対してレスしてるんだけど
308 名前:288, 299 mailto:sage [2012/02/17(金) 20:28:14.13 ID:L5yN7HP6] >>301 (´・ω・`) ゴメンチャイ。見落としていた。
309 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 20:31:12.17 ID:+5zzT17q] Vectorは密な配列だから速いけど挿入や削除の処理が重くなる fixedなんてプロパティがあるくらいだしな とはいえ、万単位の長さで処理くらい行かないと体感できるほどの差は出ないだろうけど
310 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 20:36:28.18 ID:KEIXzgCy] >>307 え?可変長にしたときってのが…具体的に言うとpush自体をやりたくないんだけど。 help.adobe.com/ja_JP/as3/mobile/WS4bebcd66a74275c3a0f5f19124318fc87b-7fff.html >Vector のサイズが時間よりも先に指定されない場合、Vector の容量が不足すると、サイズが増えます。 >Vector のサイズが増えるたびに、メモリの新しいブロックが割り当てられます。 >Vector の最新の内容がメモリの新しいブロックにコピーされます。 >データを余分に割り当てて複製することにより、パフォーマンスに影響があります。 >上述のコードでは、Vector の初期サイズを指定することでパフォーマンスが最適化されています。 >ただし、コードの保守性は最適化されていません。保守性も改善するには、再利用された値を定数に保存します。 俺の勘違いかと思って調べちゃったよ。 俺の主張は最初から、Vectorを利用する時点でパフォーマンスが気になってるんだろうから、 パフォーマンスに影響ある可変長の利用をやめておこうってことだ。
311 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 20:37:40.43 ID:KEIXzgCy] >>309 100x100で万オーダーだよね。
312 名前:Now_loading...774KB [2012/02/17(金) 20:48:16.98 ID:4bug8P+G] うーん難い…。勉強不足スイマセン。 全部まとめて指示出すときは >>306 for each(var AAA:MovieClip in BBB){○○○○○○;}のカタチで問題ないってこと? あと例えばさっきの記述でムービークリップ1個だけに指示出すなら var my_mc:MovieClip=arr[1]みたいな記述したほうがいいのですか? 質問トンチンカンかもしれませんが教えてください。 my_mc.rotation+=5;←my_mcでまとめて指示出せるのはArrayで格納してるから?
313 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 21:13:06.07 ID:ccaQv1M3] >>305 >var nWidth :int=stage.stageWidth; これはstageのstageWidthを取得する毎にわざわざstageから値を参照するより 一度変数に保持してその値を使う方がパフォーマンスがいいとされてるから これが使えるのは「何度参照しても必ず同じ値が返ってくる」事が前提 ただ今回は>>306 が書いてるように使ってないから意味がないけど >var my_mc:MovieClip=arr[i] これも同じような理由 でもFP10.1ぐらいから配列アクセスのパフォーマンスが改善されてるから やってもやらなくてもいいと思う Vectorの重要なところは指定した型以外の値が代入されない事が保証されてる事だと思う 仮に間違えてarrに数字を入れた場合Arrayだとmy_mc.rotation+=5;を実行した時に 初めてエラーになるけどVector.<MovieClip>ならそもそも数字が入らないから null以外のチェックは不要になる
314 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 21:33:36.38 ID:S/ZZMj6I] >>310 うーん。だから、設計思想の違いでしょ ループなんか画面描画に比べたら微々たるものなんで、保守性を考えたら無視しちゃうね、って
315 名前:Now_loading...774KB [2012/02/17(金) 21:37:34.08 ID:4bug8P+G] >>313 あざす。なんとなく分ってきました 。 ちなみに例えばムービークリップaとbとc、ボタンAとBとCがあって。 Aを押すとa表示 b.c非表示、 Bを押すとb表示 a.c非表示、 Cを押すとc表示 a.b非表示したいとき、 a.b.cをArrayで格納して(arr1に格納) Aを押すとarr1非表示 a表示 Bを押すとarr1非表示 b表示 Cを押すとarr1非表示 c表示みたいにできるのは分ったんだけど A.B.CもArrayで格納して(arr2に格納) arr2を押すとarr1非表示 を最初に記述しといて Aを押すとa表示 Bを押すとb表示 Cを押すとc表示みたいにしたほうがいいんですかね 基本的にスプリクトはできるだけまとめたほうが パフォーマンスがよくなる?記述を短く分りやすくするため? 上の3パターンだったら結局処理作業は一緒なのですか? またはもっといいやりかたがある?
316 名前:Now_loading...774KB mailto:sage [2012/02/17(金) 22:01:39.51 ID:S/ZZMj6I] うーん。最後のが良いんじゃない? 俺ならボタンにムービークリップへの参照を持たせちゃうかな 言ってる意味わからないかも知れないけど
317 名前:Now_loading...774KB mailto:sage [2012/02/18(土) 00:00:36.74 ID:HDvxo8mQ] >> 314 ちがうなぁ、設計思想より後のチューニングレベルの話。 >ループなんか これを本気で言っているのならびっくりするが。 ループの中で描画する要素なんかいくらでもあるだろ。 >ループなんか画面描画に比べたら微々たるものなんで ここを考えて設計思想で語るなら、 微々たるような場合にVectorを使う選択をしないとなるな。 Arrayで十分と。>>313 が言うような仮に間違えた場合ってのがあったとすると、 それは設計がまずいって事になる。 >>315 俺も最後のやり方を選択するだろうなぁ。 ボタンの役割がそれしかないなら、ボタンのイベントハンドラは一つにまとめてしまう。 最初にすべて非表示にして、イベントのソースがAならa表示っていう風に。
318 名前:Now_loading...774KB [2012/02/18(土) 01:20:01.81 ID:88fQmfvS] >> 317 for each(var element1:Object in arr1){ element1.addEventListener(MouseEvent.CLICK,element1BTA); function element1BTA(event:MouseEvent):void{ for each(var element2:Object in arr2){ element2=false; } } } こんな記述でOKですか? 度々の初心者質問ですいません。 ボタンを押すスプリクトのときじゃなくて、 element1.element2を最初に設定できておける? 例えばarr2を別のボタンで非表示にするときは そのつどfor each(var ○○○:Object in arr2){○○○.visible=false;} で表示しなければならない?arr1もしかりで
319 名前:Now_loading...774KB mailto:sage [2012/02/18(土) 02:51:11.72 ID:HDvxo8mQ] >>318 途中から混ざったので混乱させると申し訳ないが、 >>315 での質問をベースに考えると、 ・ボタンが押されたら、a,b,c非表示処理 ・ボタンを判別して一つを表示 と考えられる。 > ボタンを押すスプリクトのときじゃなくて、 > element1.element2を最初に設定できておける? これはできる。 btnA.addEventListener(MouseEvent.CLICK,clickHandler); こんな感じで、ほかのボタンについてもやればいい。そのあとに、clickHandlerの中身で、 function clickeHandler(event:MouseEvent):void { // 全要素非表示 for each(var elm:Object in arr1) { elm.visible = false; } // ボタンに対応する要素を表示 var clickedBtn:Sprite = event.currentTarget as Sprite; clickedBtn.visible = false; switch ( clickedBtn ) { case btnA: a.visible = true break; case btnB: //以降略 こんな感じでいけると思うが。書いてて、引数を渡してしまうほうがいいことに気づいたがまぁこっちを理解してくれ。
320 名前:Now_loading...774KB [2012/02/18(土) 21:11:41.39 ID:teRRq7Cr] >>319 理解できぬー。 >>318 みたいなやり方はあまりよくないですか?
321 名前:Now_loading...774KB mailto:sage [2012/02/18(土) 21:36:45.79 ID:Lkc19fcT] >>320 一個一個よんだらわかるだろ
322 名前:Now_loading...774KB mailto:sage [2012/02/18(土) 22:27:20.41 ID:3YkaDqya] やり方の良し悪しとか聞かれてもな 動くなら何でもええがな
323 名前:Now_loading...774KB [2012/02/19(日) 00:28:55.69 ID:yeBKkr9h] >>322 確かに。 スプリクトをまとめられる方法が あったら活用したいなと思って。 今こういうのできないかなと思っているのは ABCの3つのインスタンスをそれぞれ マウスが上にきたとき半透明になって マウスが外れたら元に戻るようにしてるんですけど これも一括で指示できたらなと >>319 理解できたらできそうですかね?
324 名前:Now_loading...774KB [2012/02/19(日) 10:56:59.05 ID:GNL5xJF/] >>319 少しTargetのこと理解しました。 >>323 だったら、Target利用すると Arrayでムービークリップを格納しなくても ABCを親インスタンスMATOMEとして設定して MATOME.addEventListener(MouseEvent.MOUSE_OVER,matome1); MATOME.addEventListener(MouseEvent.MOUSE_OUT,matome2); function matome1(eventObj:MouseEvent):void { eventObj.target.alpha=0.5; } function matome2(eventObj2:MouseEvent):void{ eventObj2.target.alpha=1; } みたいな感じでできました。
325 名前:Now_loading...774KB [2012/02/19(日) 18:26:03.76 ID:f8M6VGgs] Flash Builder 4.6/Windows7です。 s:Imageを使ってmxmlにswfを埋め込んで表示すると、スタンドアロンFlash Playerで読み込んで ウィンドウを拡大したときにビットマップを埋め込んだときみたくジャギーが出てしまいます。 直接swfを読み込んで拡大するとシェイプなので当然スムーズな拡大ができるのですが、 mxmlに埋め込んだ状態でも同じ状態にするにはどうすればよいのでしょうか?
326 名前:Now_loading...774KB mailto:sage [2012/02/19(日) 23:13:51.62 ID:DmeOPZ/t] >>325 UIComponentを継承したクラスを作ってそこに埋め込んで内部でインスタンス化→addChildするとか んでmxmlに作ったクラスをタグで書く
327 名前:Now_loading...774KB [2012/02/20(月) 03:47:51.30 ID:u7ALn6Bw] AS3でのXMLで質問です。 MCのswapChildrenみたいな感じでノード(要素)の順番入れ替えはどうやれば 簡単にできますか? 個別の参照は簡単に出来ますが、列挙する際や全体を見渡す際に順番が重要なので。 ヘルプを見ましたが、insertChildAfterやinsertChildBeforeは挿入のみでした。
328 名前:Now_loading...774KB mailto:sage [2012/02/20(月) 09:14:36.01 ID:tqhvBSLI] AS3です HogeからFooをnewし、FooコンストラクタからそのままBarをnewしようとすると、 「引数の数が正しくありません。1 個以下であることが必要です。」 と出るのですが、コンストラクタからのインスタンス化はよくないのでしょうか
329 名前:Now_loading...774KB mailto:sage [2012/02/20(月) 09:53:11.05 ID:XuPCcF8d] なわけねえだろ 親切にコンパイルエラーの原因書いてくれてるのにガン無視かよ
330 名前:Now_loading...774KB mailto:sage [2012/02/20(月) 10:39:06.49 ID:tqhvBSLI] >>329 ありがとうございます Barの引数をいくつにしてもそう出るんです 例えば、Barの引数を3つにして、Fooから1つ以下を渡せば、エラーは出ません 逆に、HogeからBarをnewすれば(コンストラクタじゃない位置から)、 「引数の数が正しくありません。正しくは 3 です。」と出てくれます
331 名前:Now_loading...774KB mailto:sage [2012/02/20(月) 13:11:26.24 ID:yqyk706o] >>327 AとBがあったらAを参照した値A一時変数に入れといてBをAにコピー その後変数をBにコピー という自作関数作ればおk >>330 コンストラクタと呼び出し側の引数の数合ってないとだめだろw 不特定多数の引数にしたいなら pubkic function Foo( ...ary ){ trace("1個目の引数:"+ary[ 0 ]+" 2個目の引数:"+ary[ 1 ]+" 3個目の引数:"+ary[ 2 ]); みたいな感じでがんがれ
332 名前:Now_loading...774KB mailto:sage [2012/02/20(月) 13:12:33.57 ID:yqyk706o] pubkic じゃなくて publicなw
333 名前:Now_loading...774KB mailto:sage [2012/02/20(月) 13:43:25.41 ID:ce4zyWnj] 再現するクラスのコード見せてみ。噛み合ってないわ。
334 名前:Now_loading...774KB mailto:sage [2012/02/20(月) 14:54:49.96 ID:tqhvBSLI] >>333 すみません、newがなかっただけっぽいです・・ テストということで、戻り値を受け取ってなかったのがダメでした >>331 可変個引数ですが、まだまだ遠い道です・・ package{ import flash.display.*; import hoge.* public class Main extends flash.display.Sprite{ public var hoge_:Hoge; public function Main(){ hoge_ = new Hoge(); }}} package hoge{ public class Hoge{ public function Hoge(){ HogeOne(1, 2, 3); //←newがない }}} package hoge{ public class HogeOne{ public function HogeOne(h1:int, h2:int, h3:int){ }}}
335 名前:327 mailto:sage [2012/02/21(火) 07:31:32.75 ID:dLQZS1YQ] >>331 やっぱそういう方法に落ち着くのですね。
336 名前:Now_loading...774KB mailto:sage [2012/02/21(火) 12:24:52.20 ID:6Qa4wvjV] >>314 このループなんかって書いてる奴はホントに思ってるのかな? ループの中でbitmapdata触ったりしないんだろうか??
337 名前:Now_loading...774KB mailto:sage [2012/02/21(火) 14:54:41.75 ID:ePNvSvPU] FlashProとBuilderの連携で困ったことがあったので質問 BuilderだとコードヒントでremoveChildrenが出てくるんだけど Proの方でswf書きだそうとすると #1069: flash.display.Sprite にプロパティ removeChildren が見つからず、デフォルト値もありません。 が出てしまう。 ライブラリパスはどっちも同じように設定してるはずなんだけど・・・ removeChildrenってFP11のplayerglobal.swcに入ってる・・・で間違ってないよね?
338 名前:Now_loading...774KB mailto:sage [2012/02/21(火) 15:20:56.94 ID:vQq6hp4a] 何をどうやったかしらんけどここみれ。 cuaoar.jp/2012/01/flash-player-112-air-32-1.html ライブラリパス設定しても無駄だから。
339 名前:Now_loading...774KB mailto:sage [2012/02/21(火) 16:28:48.33 ID:ePNvSvPU] ありがとう 試してみる
340 名前:Now_loading...774KB mailto:sage [2012/02/21(火) 16:47:31.45 ID:ePNvSvPU] ExtensionManagerが管理者権限で起動しても権限どうたらこうたら出てしまうので、 できるまでremoveChildrenやら使わない方向で行きます・・・
341 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 00:32:42.80 ID:3hHo2Jqu] removeChildrenなんてなくてもいいだろ Stage3D使わないのにターゲットをFP11にする意味はないな
342 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 00:49:07.55 ID:Tf4jVTsr] >>336 いや「ループ自体」は速くなるんだろうけど、その中のdrawに掛かる時間は一緒でしょ?
343 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 08:04:54.01 ID:oirG2aPR] >>341 問題の焦点そこじゃない
344 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 12:28:04.09 ID:979q3B4N] >>342 ループ自体が早いって話はなに? ArrayよりVectorのほうが高速に要素にアクセス出来るっていう話が前提で、 描画時間にくらべれば、要素にアクセスする時間なんか無視できるぐらい小さいっていってんの?
345 名前:Now_loading...774KB [2012/02/22(水) 13:02:16.19 ID:oX4oxnAi] Flashライブラリを作っているんだけど、ちょっとした便利関数を作る場合 ・カテゴリごとにパッケージ作って丸裸の関数を入れるか、 ・それともカテゴリごとにクラス作ってstaticメソッドとして実装するか どっちの方が良いのだろうか?Adobe的にはどっちのやり方を推奨しているのかな
346 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 13:05:00.14 ID:qhKKZGjt] チェスやオセロなんかの大量の単純計算ならArrayとVectorで速さに明確な差が出るが 比較的重い描画系処理ならたいして変わらないって話じゃない?
347 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 13:08:46.30 ID:qhKKZGjt] >>345 推奨なんか特に無いお 便利関数ならカテゴリ云々はわからんがstatic実装だろうな〜 複数インスタンスなんかめったに利用しないだろうしstaticの方が速い
348 名前:Now_loading...774KB [2012/02/22(水) 13:22:04.90 ID:oX4oxnAi] >>347 いや、ウチが言いたいのは package 大カテゴリ.小カテゴリ{ public function 便利関数():void{...} } か、あるいは package 大カテゴリ { public class 小カテゴリ{ public static function 便利関数():void{...} } }かなんだが……。 static実装には同意
349 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 13:42:30.91 ID:meU+M1II] コミュ障ばっかだなあw
350 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 13:59:31.87 ID:979q3B4N] >>346 そういう話ならわかるが、そもそもこの話のもとは>>292 からはじまってて、 同じ人かわからないけど、 >>301 の >えー。そもそも大量に固定長の配列が必要になるって、何? とか質問があるわけよ。 >>300 で >ループを高速に処理したいからVector使うかってなるわけで、 って所が前置きとしてあるのに、 >>301 で >えー。そもそも大量に固定長の配列が必要になるって、何? って…。 100x100x100のループとか普通にやるけどな。 ある一定の配列アクセスが発生するなと思った場合、 固定長Vectorで宣言することでパフォーマンスが稼げるから固定長になるだけなんだが。 FPS稼ぐとかそういったことやる必要が無い人には意識することが無い事なのかな?? 可変長であることが確定してる、もしくは動的にしか配列長が決まらない場合は 素直にArrayを使えば良いだけで、 ジェネリック型としてVectorを使いたいってだけで、Vectorでpush使いまくってたら、 そのたびに内部的に再構築されてArrayより遅くなることがわかりきってるわけよ。 保守性とか言ってたけど、型固定で代入時にコンパイラチェックされることが重要とは とても思えない。Arrayで作ったときに「うっかり」別の型のものを代入する? 宣言時などはあっても、ループ内では考えにくいがなぁ?? 最初から使いどころの話をしているわけで、 保守性考えたらVectorを固定長で使わないっていう主張がまるで理解できない。
351 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 14:25:53.38 ID:meU+M1II] 型が不定なのがクソキモいって人もいるんじゃないの? 君がVector可変で使うのがクソキモくて理解できないのと同じで。
352 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 14:28:00.20 ID:meU+M1II] 目的が速度だったらpushしてるのはアホだろうけど、必要感じてないらしいからね。
353 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 14:48:40.70 ID:xEPG2eul] pushって遅くなんの? どれくらい?
354 名前:Now_loading...774KB [2012/02/22(水) 15:00:06.86 ID:xEPG2eul] 2乗するのにビット演算の方が速い、みたいな「根本原理」的な話?
355 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 15:01:45.08 ID:xEPG2eul] ageてスマン
356 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 15:16:44.77 ID:xEPG2eul] 何度もスマン。自分で測ってみたから質問下げる
357 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 15:45:42.66 ID:979q3B4N] >>351 ,352 そういう人も居るだろうけどね、Arrayってもともとそういうものだよ?? 型固定じゃないとイヤなのに、intとかプリミティブ型で宣言したのに、Booleanをpush出来てしまう 暗黙的型変換が許容できるのがクソキモイ。 必要感じてないのにVector使うのは俺には理解できない。 pushで最大サイズの拡張が行われたら、Arrayより遅くなるのに。 >>353 いまテストしてみた。100万の配列アクセスの場合。 最悪Arrayの4倍遅い 固定長(Fixed)の20倍 wonderfl.net/c/aIfc
358 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 15:48:06.30 ID:979q3B4N] テストしたんか…俺の20分返せ!w
359 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 18:19:47.27 ID:VgwNTH2O] 俺のいる板だと会話がすぐ煽り合いになるが マは平和でいいわ
360 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 18:34:28.92 ID:3hHo2Jqu] >>350 型決定による速度向上と補完による効率があるからぜんぜんちがうよ pushで使おうがArrayのpushより速いんだし意味ないわけないじゃない
361 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 18:38:48.95 ID:3hHo2Jqu] ああArrayのpushより遅い場合があるのね 失礼 俺は補完(だいじ まあArrayでもできなくはないけど)と型決定があるから常にVectorを押すよ push使おうが遅くなるのは出し入れする時だけなんだから、読むときはArrayより速いわけじゃん ネイティブでArray使わされる場合(filterなど)以外はVectorつかうよん
362 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 19:05:13.98 ID:8QtLEpE+] push遅いのか pushみたいな感じので一番速いのなんだろう
363 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 21:37:42.80 ID:979q3B4N] >>361 遅い場合があるんじゃなくて、ほとんどの場合遅いのよ。 >push使おうが遅くなるのは出し入れする時だけなんだから、読むときはArrayより速いわけじゃん なんか矛盾してるが。 >読むときはArrayより速いわけじゃん は間違い無い。ただ、pop,shiftはナシ。 あと、固定長Vectorであれば、書き込みも読込とさほど差が無い。 だからVectorを使う時は>>292 と書いわけだが。 >俺は補完(だいじ まあArrayでもできなくはないけど)と型決定があるから常にVectorを押すよ >ネイティブでArray使わされる場合(filterなど)以外はVectorつかうよん 型決定はどうでも良い。入れる型が異なることがほとんど無いからね。 しかし、補完があるのが大きいってのはわかる。 それでも、キューの様なpush,popを多用する動作においては採用しないし、 何回もアクセスするような場合は変数に取り出すだろう。(foreachであれば最初からでてるわけだし。) 変数に出してやれば補完の問題も解決するし、Arrayだと基本的なテクニックのひとつだしね。 しつこいとよく言われるが、>>296 みたいに添字で書くことなんか普通のことなんだけど、おかしい?