[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/19 02:53 / Filesize : 240 KB / Number-of Response : 671
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ActionScript 誰かが物凄い勢いで解答するスレ30



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/


248 名前:Now_loading...774KB mailto:sage [2012/02/07(火) 23:54:10.02 ID:j8nkoxb4]
>>247
回答ありがとうございました。

・Loaderのリスナーは弱参照で登録して使ってました。
 →明示的にremoveするように変更しました。
・Loaderはnullに出来てました。

上記をやっとけば、とりあえず問題ないってことですね。

ありがとうございました。

249 名前:Now_loading...774KB mailto:sage [2012/02/08(水) 05:55:35.21 ID:NeEN90Ai]
>>248
そうそう。弱参照ね。
ちなみにPapervision3Dには、不要になった3Dオブジェクトを削除するために
オブジェクト.material.destroy(); というのがある。


250 名前:Now_loading...774KB mailto:sage [2012/02/09(木) 18:51:51.58 ID:R+rqbmsZ]
すいません
デバッグができなくて困っています。Flashdevelop4.0.1、AS3プロジェクトです

リリースで実行するとFlashplayerが表示され実行されるのですが、
デバッグで実行するとFlashplayer自体は表示されるのですが、実行されず
ステータスバーに「Flashplayerを待ってデバッガーに接続します」と表示されます

原因を調べると、特定の自作クラスを参照すると駄目なようで
static const な定数を参照するだけでデバッグできなくなります

なにかデバッグできなくなる原因の記述があると思うのですが
その自作クラスは基幹の大きいクラスのため「1か所消してコンパイル」を繰り返して特定するのはかなり時間がかかりそうなのです

ので、何か手がかりを知っている方が居たら教えてください
よろしくお願いします


251 名前:Now_loading...774KB [2012/02/09(木) 18:52:17.71 ID:R+rqbmsZ]
age忘れました

252 名前:Now_loading...774KB [2012/02/10(金) 12:19:45.22 ID:NiE7UKI7]
flash CS5 win7 です

今Asを勉強しているのですが
function onMoveStart(event:MouseEvent):void {
clickY = event.stageY - McName.y;
}
というコードを外部クラスで動作させる場合に、
eventが定義されませんと、エラーが出ます。

ぜひお教えくださいよろしくお願いいたします。

253 名前:Now_loading...774KB mailto:sage [2012/02/10(金) 14:40:43.16 ID:AfUv8uUH]
importしましょう


こちらへどうぞ
Flashの超基本的な質問はここでしろ! part43
toro.2ch.net/test/read.cgi/swf/1327630120/

254 名前:Now_loading...774KB mailto:sage [2012/02/10(金) 15:10:18.19 ID:MiPu/7Cc]
>>250
デバッグはFlash CS5とかなり違うんだろか
デバッグ時の画面、挙動がどういう状態なのか少しわからないと答えるのむずいお

255 名前:226 mailto:sage [2012/02/10(金) 19:30:56.22 ID:jEUJ5txX]
今更だけど規制解けたので

どうもFLASHのウィンドウ設定を透明に設定すると、今回のようなバグがでた
調べたら透明の時はなんか微妙に色々起きるらしいな
気づくの時間かかった

256 名前:250 mailto:sage [2012/02/11(土) 01:38:15.67 ID:fz4rwvJH]
>>254
レスありです。CSとの違いは分からないです
挙動というか、とにかくFlashPlayerが表示されるだけで何も実行されません


今、古いSDKを使ったら一応デバッグできたので急な要件ではないのですが
何か知っている方がいらっしゃったらよろしくお願いします




257 名前:Now_loading...774KB mailto:sage [2012/02/11(土) 17:33:52.18 ID:JttzamSG]
AIRの質問なんだけど大丈夫だろうか?

this.stage.nativeWindow;
↑このNativeWindowってやつに困ってる。
SWF書きだした時にnullだったり中身入ってたりと、ばらつきがある。
100%nullじゃないようにしたい場合はどうすればいいんだろう。

nullが出た時は、そのあといくら待ってもnullなのでイベントリスナーも意味ないし。
分かる人いればレスお願いします。



258 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 11:02:24.89 ID:AYUdcfOs]
>>257

259 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 11:03:31.93 ID:AYUdcfOs]
ミスった…

>>257
ソース乗っければ誰かが教えてくれるかも
help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/display/NativeWindow.html

260 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 11:27:06.98 ID:UL0KTdNX]
>>259
リファレンスは見たけど、その辺は書いてない気がするんだよな・・・
ちなみにソースというか、そのまんま
nw = this.stage.nativeWindow;
trace(nw) ←null か object NativeWindow という感じ

FlashBuilderにFlashPro連携させてやってるんだけど、
色々試して、Builderから書きだすと初回はエラー吐いて、2回目からはちゃんと起動するということがわかった。
初回から成功して欲しい。
FlashProからやると、多分◯◯-app.xmlを読み込まないから絶対失敗するのかな、と。

261 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 12:33:00.73 ID:o5SxRP9k]
Android向けのサイトで使うFlashをとりあえず10、AS1.0で作っています
loadSoundで読み込むサウンドデータでmp3以外(具体的にはAACエンコしたm4a、もしくはogg)の圧縮フォーマットを
使うことは未だにできないのでしょうか?
ぐぐっても2004年頃の「できない」という情報しか出てこず、最新の事情を知りたいです
FlashやASのバージョンでも違ったりする?

262 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 13:21:55.81 ID:AOoGwUT/]
>>261
AS1はもう変わってないんじゃない?

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実装には同意






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<240KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef