12/02/10 15:10:18.19 MiPu/7Cc
>>250
デバッグはFlash CS5とかなり違うんだろか
デバッグ時の画面、挙動がどういう状態なのか少しわからないと答えるのむずいお
255:226
12/02/10 19:30:56.22 jEUJ5txX
今更だけど規制解けたので
どうもFLASHのウィンドウ設定を透明に設定すると、今回のようなバグがでた
調べたら透明の時はなんか微妙に色々起きるらしいな
気づくの時間かかった
256:250
12/02/11 01:38:15.67 fz4rwvJH
>>254
レスありです。CSとの違いは分からないです
挙動というか、とにかくFlashPlayerが表示されるだけで何も実行されません
今、古いSDKを使ったら一応デバッグできたので急な要件ではないのですが
何か知っている方がいらっしゃったらよろしくお願いします
257:Now_loading...774KB
12/02/11 17:33:52.18 JttzamSG
AIRの質問なんだけど大丈夫だろうか?
this.stage.nativeWindow;
↑このNativeWindowってやつに困ってる。
SWF書きだした時にnullだったり中身入ってたりと、ばらつきがある。
100%nullじゃないようにしたい場合はどうすればいいんだろう。
nullが出た時は、そのあといくら待ってもnullなのでイベントリスナーも意味ないし。
分かる人いればレスお願いします。
258:Now_loading...774KB
12/02/12 11:02:24.89 AYUdcfOs
>>257
259:Now_loading...774KB
12/02/12 11:03:31.93 AYUdcfOs
ミスった…
>>257
ソース乗っければ誰かが教えてくれるかも
URLリンク(help.adobe.com)
260:Now_loading...774KB
12/02/12 11:27:06.98 UL0KTdNX
>>259
リファレンスは見たけど、その辺は書いてない気がするんだよな・・・
ちなみにソースというか、そのまんま
nw = this.stage.nativeWindow;
trace(nw) ←null か object NativeWindow という感じ
FlashBuilderにFlashPro連携させてやってるんだけど、
色々試して、Builderから書きだすと初回はエラー吐いて、2回目からはちゃんと起動するということがわかった。
初回から成功して欲しい。
FlashProからやると、多分◯◯-app.xmlを読み込まないから絶対失敗するのかな、と。
261:Now_loading...774KB
12/02/12 12:33:00.73 o5SxRP9k
Android向けのサイトで使うFlashをとりあえず10、AS1.0で作っています
loadSoundで読み込むサウンドデータでmp3以外(具体的にはAACエンコしたm4a、もしくはogg)の圧縮フォーマットを
使うことは未だにできないのでしょうか?
ぐぐっても2004年頃の「できない」という情報しか出てこず、最新の事情を知りたいです
FlashやASのバージョンでも違ったりする?
262:Now_loading...774KB
12/02/12 13:21:55.81 AOoGwUT/
>>261
AS1はもう変わってないんじゃない?
263:Now_loading...774KB
12/02/12 14:21:20.72 o5SxRP9k
AS2か3なら使えるのでしょうか?
264:Now_loading...774KB
12/02/12 14:30:09.40 9Rn+Z/v+
10なのにAS1を使う理由がまったくないな
265:Now_loading...774KB
12/02/12 14:30:55.86 UL0KTdNX
m4aはローダー作ってる人いたけど、基本はmp3だけだろうな
266:Now_loading...774KB
12/02/12 14:34:26.63 AOoGwUT/
>>263
mp3じゃだめなの?
267:Now_loading...774KB
12/02/12 14:36:00.62 o5SxRP9k
AS1に拘る理由は全くないです、AS2か3で使えるならそちらにします
商用なのでmp3は使えません
268:Now_loading...774KB
12/02/12 14:39:21.35 AOoGwUT/
>>267
oggとかが使えるかどうかわからんがAS3のほうがいいよ
269:Now_loading...774KB
12/02/12 18:40:52.27 Va1DU68x
>>267
AS1,2は無理
AS3は自前でデコードするなら何でも可能
ただmp3はFlashに埋め込んどけばいいんじゃね?
270:Now_loading...774KB
12/02/13 19:44:20.87 AhhPa0c+
CS5,WinXP,AIR2.0ですが、addChildしたテキストフィールドが滲んで(にじんで)しまい
困ってます。
URLリンク(uproda11.2ch-library.com) の右上の sheetBase_0 の部分
CS5のライブラリにMC(SheetTitle)があり、これをnewして灰色の部分(SheetBase)にaddChild
しています。 階層構造は、下の通りです。
親
┗SheetBase
┗SheetTitle
┗テキストフィールド(入力型つまりインプット型) ← ここが滲む(にじむ)
CS5なのでフォント埋め込みが必要ですが、フォントを設定(MSP ゴシック,日本語,・・・など)
をしてもこの状態です。
他の文字列「Words」とか「179」はにじんでいませんが、SheetTitleのテキストフィールド文字列
だけこんな感じです。
SheetTitle内のテキストフィールド位置は(0, 0)なので滲まないようにしているのですが・・・
考えられる原因は何でしょうか?
271:Now_loading...774KB
12/02/13 20:32:02.28 KUOA6RJ2
滲みっていうか、単にアンチエイリアスがかかってるだけじゃねーの?
272:270
12/02/13 22:03:51.77 AhhPa0c+
>>271
さんきゅう。
デバイスフォントでOKでした。
273:Now_loading...774KB
12/02/14 12:01:31.66 imvGWgVk
AS2.0でダイナミックテキストにUIScrollBarを使っていて、テキストを「選択不可」にするとマウスホイールが使用出来なくなるんですが、良い解決方法知ってる方いませんか?
URLリンク(www1.axfc.net)
274:Now_loading...774KB
12/02/14 20:34:24.97 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
12/02/14 20:41:37.45 9wqtRWSQ
初心者です。
Arrayを使って複数のインスタンスを格納した「arr1」を
別のArrayを使った「arr2」に格納できますか?
スプリクトの書き方を教えてください。
あと
Ver vec1 :Vector .<displayobject>=newVector.<displayobject>()と記述して
ムービークリップとテキストを一緒に格納したとき、
テキスト(moji)をmoji.text =“○○”で文字を表すことはできないでしょうか、
あとインスタンスによってはmouseEnableを使用すると、コンパイルエラーになります。
276:Now_loading...774KB
12/02/14 20:55:22.68 OU99ITjo
>>274
pngはBitmapで生成して、親としてSprite作ってaddChildしたら?
277:Now_loading...774KB
12/02/14 21:11:55.31 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
12/02/14 21:17:46.21 jJNmIoEx
>>276
出来ました!ありがとうございます!
279:274
12/02/14 21:19:08.04 jJNmIoEx
すみません、リロ忘れ…
>>277さんも丁寧にありがとうございました!
280:Now_loading...774KB
12/02/14 21:53:21.02 OU99ITjo
Arrarのconcat()でコピーできなかったかなと思って調べたら、浅いコピーは出来るみたいだな
中身が同じインスタンスを指すんでよければこれでいいんじゃね?
281:Now_loading...774KB
12/02/15 14:54:35.94 IGftIFeq
>>275
ArrayにArrayを入れられるか?という話なら普通に出来るが…。arr2.push(arr1);
282:Now_loading...774KB
12/02/15 16:45:29.75 LxmKkw/C
> new Vector.<displayobject>()
DisplayObjectなんかのプリミティブ型以外のオブジェクトなら通常のArrayでも
速度的には大差無いと思うんだけど実際のところどうなんだろな
283:Now_loading...774KB
12/02/15 19:26:38.22 FWjTH1OX
>>281
うまくいきません。
arr1をarr2に入れて、別のarr3にもarr1を入れてるからかな。
284:Now_loading...774KB
12/02/15 19:39:40.91 BhE6EVFB
>>283
出来ないわけないが、質問の意図が、
arr1に入れた要素全てをarr2に入れられますか?
ってことなら、やり方が違う。
arr1に入れた要素全てを取り出して、arr2に入れないといけない。
285:Now_loading...774KB
12/02/15 20:37:32.99 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
12/02/15 20:44:57.70 BhE6EVFB
arr3にa,b,c,d,e,fを入れればよい。
Array#concat()を使ってもいけると思うが確認してくれ。
287:Now_loading...774KB
12/02/15 21:13:57.53 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
12/02/15 22:08:05.79 lXG89CQk
AS3のスクロール可能なテキストフィールドで質問(AIR1.5,CS4)。
例えば、あるMC内に800×600の縦スクロール付きテキストフィールド(TF)を設置し、これに1000行の
文章を流し込んだとした場合、自動的にTFが表示する行数を取得する方法ってありますか?
UIScrollBarクラスにはpageSizeプロパティがありますが、これは1ページ当たりの行数なので。
現段階では800×600の固定サイズですが、将来は随時変更可能してその時々の表示行数を
知りたいです。
※TFは折り返し無しでそのまま表示します。
289:Now_loading...774KB
12/02/15 23:04:15.54 NNKP89Lx
>>286
concat()で行けました。
ありがとうございました!!
290:Now_loading...774KB
12/02/15 23:25:13.17 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
12/02/16 01:55:31.89 OqG0T3yN
どっちが正しいとかないが後者のほうが速いとは聞く
292:Now_loading...774KB
12/02/16 11:12:47.51 SteCjB9d
可変長なら前者と言いたいところだが、
Vectorを使いたい時点で固定長を意識した方が良い。
Vectorでpushを使う時は可変長であることを明示的にするような時かなぁ。
まぁおれルールだけど。
293:Now_loading...774KB
12/02/16 12:35:48.21 g876XNz4
>>291
>>292
あざす。
2つ目の記述でやってみます!
294:Now_loading...774KB
12/02/16 18:19:11.18 g876XNz4
インラインフレームみたいのって作れるの?
295:288
12/02/16 19:41:09.85 IOt2OXK2
すいません。誰か分かりますか?
要約すると、テキストフィールドサイズを 800×600 → 800×800 → 400×300 ・・・
とかで変化させた時の表示行数で、横方向のスクロールは常に設定しているので
各行が長くても水平スクロールで対処しています。
296:Now_loading...774KB
12/02/17 02:40:04.52 YCyJ7oYl
まじで?vec[0]、vec[1]、vec[2]とか書くの?
開発中にvec[1]が不要になったら、いちいちvec[2]をvec[1]に書き換えるの?なんかカルチャーショックだわ
297:Now_loading...774KB
12/02/17 02:46:08.00 SguoM0bg
pushでなくインデックス指定というだけの話だけど?
298:Now_loading...774KB
12/02/17 02:58:26.80 YCyJ7oYl
>>295
よくわからんし、試してないけど
URLリンク(livedocs.adobe.com) に
bottomScrollV 指定されたテキストフィールドの現在の表示範囲で最終行を示す整数です
ってのがあるけど
これでどう?
>>297
いや、分かってるけど
299:288
12/02/17 11:08:33.95 1fjEgm7M
>>298
さんきゅうです。
初期状態なら0から始まるのでbottomScrollVでも対処できますが、
スクロール途中では表示先頭行の番号が不明なので・・・
なんとかやってみます。
300:Now_loading...774KB
12/02/17 11:56:57.41 KEIXzgCy
>>296
Vector使う時って10個の配列扱う時とかじゃないでしょ?
ループを高速に処理したいからVector使うかってなるわけで、
そんなときはvec[i]とかそういうアクセスのしかたが普通でしょ。
もちろん開発中はずれることはあるだろうね。vec[i+3]になったりとか。
301:Now_loading...774KB
12/02/17 17:31:22.55 nDCWlPNW
>>299
scrollVとbottomScrollVの間が現在表示されてる範囲、と書いてあるが
>>300
えー。そもそも大量に固定長の配列が必要になるって、何?
302:Now_loading...774KB
12/02/17 18:28:23.80 p2jCZExJ
話題のVector使ってみたけどなかなか大変だな undefinedがエラーなのはいいとして
foo[ 0 ] = 10;
foo[ 2 ] = 100;//順番で設定しないとエラーて!
foo[ 1 ] = 1000;
303:Now_loading...774KB
12/02/17 18:44:33.05 KEIXzgCy
>>300
言ってることがわからんが、
パーティクルとかの画像処理を短い可変長で処理することなんか考えにくいんだが。
ある程度まとまった同じ物を高速に処理したいから(処理したい要望が多いから)、
ベース型固定の配列Vector<T>が追加されたわけだ。
たいした数も無いのにわざわざ制限の多いVector使う必要性を感じない。
304:Now_loading...774KB
12/02/17 18:47:47.74 KEIXzgCy
う、間違えた
>>303は>>301宛
305:Now_loading...774KB
12/02/17 19:45:50.63 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
12/02/17 20:17:32.09 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
12/02/17 20:18:58.14 S/ZZMj6I
>>303
いや。うん。だから、長い可変長で使うのが普通だよね
>>292が「Vectorは固定長を意識」とか言ってるから、それに対してレスしてるんだけど
308:288, 299
12/02/17 20:28:14.13 L5yN7HP6
>>301
(´・ω・`) ゴメンチャイ。見落としていた。
309:Now_loading...774KB
12/02/17 20:31:12.17 +5zzT17q
Vectorは密な配列だから速いけど挿入や削除の処理が重くなる
fixedなんてプロパティがあるくらいだしな
とはいえ、万単位の長さで処理くらい行かないと体感できるほどの差は出ないだろうけど
310:Now_loading...774KB
12/02/17 20:36:28.18 KEIXzgCy
>>307
え?可変長にしたときってのが…具体的に言うとpush自体をやりたくないんだけど。
URLリンク(help.adobe.com)
>Vector のサイズが時間よりも先に指定されない場合、Vector の容量が不足すると、サイズが増えます。
>Vector のサイズが増えるたびに、メモリの新しいブロックが割り当てられます。
>Vector の最新の内容がメモリの新しいブロックにコピーされます。
>データを余分に割り当てて複製することにより、パフォーマンスに影響があります。
>上述のコードでは、Vector の初期サイズを指定することでパフォーマンスが最適化されています。
>ただし、コードの保守性は最適化されていません。保守性も改善するには、再利用された値を定数に保存します。
俺の勘違いかと思って調べちゃったよ。
俺の主張は最初から、Vectorを利用する時点でパフォーマンスが気になってるんだろうから、
パフォーマンスに影響ある可変長の利用をやめておこうってことだ。
311:Now_loading...774KB
12/02/17 20:37:40.43 KEIXzgCy
>>309
100x100で万オーダーだよね。
312:Now_loading...774KB
12/02/17 20:48:16.98 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
12/02/17 21:13:06.07 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
12/02/17 21:33:36.38 S/ZZMj6I
>>310
うーん。だから、設計思想の違いでしょ
ループなんか画面描画に比べたら微々たるものなんで、保守性を考えたら無視しちゃうね、って
315:Now_loading...774KB
12/02/17 21:37:34.08 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
12/02/17 22:01:39.51 S/ZZMj6I
うーん。最後のが良いんじゃない?
俺ならボタンにムービークリップへの参照を持たせちゃうかな
言ってる意味わからないかも知れないけど
317:Now_loading...774KB
12/02/18 00:00:36.74 HDvxo8mQ
>> 314
ちがうなぁ、設計思想より後のチューニングレベルの話。
>ループなんか
これを本気で言っているのならびっくりするが。
ループの中で描画する要素なんかいくらでもあるだろ。
>ループなんか画面描画に比べたら微々たるものなんで
ここを考えて設計思想で語るなら、
微々たるような場合にVectorを使う選択をしないとなるな。
Arrayで十分と。>>313が言うような仮に間違えた場合ってのがあったとすると、
それは設計がまずいって事になる。
>>315
俺も最後のやり方を選択するだろうなぁ。
ボタンの役割がそれしかないなら、ボタンのイベントハンドラは一つにまとめてしまう。
最初にすべて非表示にして、イベントのソースがAならa表示っていう風に。
318:Now_loading...774KB
12/02/18 01:20:01.81 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
12/02/18 02:51:11.72 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
12/02/18 21:11:41.39 teRRq7Cr
>>319理解できぬー。
>>318みたいなやり方はあまりよくないですか?
321:Now_loading...774KB
12/02/18 21:36:45.79 Lkc19fcT
>>320
一個一個よんだらわかるだろ
322:Now_loading...774KB
12/02/18 22:27:20.41 3YkaDqya
やり方の良し悪しとか聞かれてもな
動くなら何でもええがな
323:Now_loading...774KB
12/02/19 00:28:55.69 yeBKkr9h
>>322確かに。
スプリクトをまとめられる方法が
あったら活用したいなと思って。
今こういうのできないかなと思っているのは
ABCの3つのインスタンスをそれぞれ
マウスが上にきたとき半透明になって
マウスが外れたら元に戻るようにしてるんですけど
これも一括で指示できたらなと
>>319理解できたらできそうですかね?
324:Now_loading...774KB
12/02/19 10:56:59.05 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
12/02/19 18:26:03.76 f8M6VGgs
Flash Builder 4.6/Windows7です。
s:Imageを使ってmxmlにswfを埋め込んで表示すると、スタンドアロンFlash Playerで読み込んで
ウィンドウを拡大したときにビットマップを埋め込んだときみたくジャギーが出てしまいます。
直接swfを読み込んで拡大するとシェイプなので当然スムーズな拡大ができるのですが、
mxmlに埋め込んだ状態でも同じ状態にするにはどうすればよいのでしょうか?
326:Now_loading...774KB
12/02/19 23:13:51.62 DmeOPZ/t
>>325
UIComponentを継承したクラスを作ってそこに埋め込んで内部でインスタンス化→addChildするとか
んでmxmlに作ったクラスをタグで書く
327:Now_loading...774KB
12/02/20 03:47:51.30 u7ALn6Bw
AS3でのXMLで質問です。
MCのswapChildrenみたいな感じでノード(要素)の順番入れ替えはどうやれば
簡単にできますか?
個別の参照は簡単に出来ますが、列挙する際や全体を見渡す際に順番が重要なので。
ヘルプを見ましたが、insertChildAfterやinsertChildBeforeは挿入のみでした。
328:Now_loading...774KB
12/02/20 09:14:36.01 tqhvBSLI
AS3です
HogeからFooをnewし、FooコンストラクタからそのままBarをnewしようとすると、
「引数の数が正しくありません。1 個以下であることが必要です。」
と出るのですが、コンストラクタからのインスタンス化はよくないのでしょうか
329:Now_loading...774KB
12/02/20 09:53:11.05 XuPCcF8d
なわけねえだろ
親切にコンパイルエラーの原因書いてくれてるのにガン無視かよ
330:Now_loading...774KB
12/02/20 10:39:06.49 tqhvBSLI
>>329
ありがとうございます
Barの引数をいくつにしてもそう出るんです
例えば、Barの引数を3つにして、Fooから1つ以下を渡せば、エラーは出ません
逆に、HogeからBarをnewすれば(コンストラクタじゃない位置から)、
「引数の数が正しくありません。正しくは 3 です。」と出てくれます
331:Now_loading...774KB
12/02/20 13:11:26.24 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
12/02/20 13:12:33.57 yqyk706o
pubkic じゃなくて publicなw
333:Now_loading...774KB
12/02/20 13:43:25.41 ce4zyWnj
再現するクラスのコード見せてみ。噛み合ってないわ。
334:Now_loading...774KB
12/02/20 14:54:49.96 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
12/02/21 07:31:32.75 dLQZS1YQ
>>331
やっぱそういう方法に落ち着くのですね。
336:Now_loading...774KB
12/02/21 12:24:52.20 6Qa4wvjV
>>314
このループなんかって書いてる奴はホントに思ってるのかな?
ループの中でbitmapdata触ったりしないんだろうか??
337:Now_loading...774KB
12/02/21 14:54:41.75 ePNvSvPU
FlashProとBuilderの連携で困ったことがあったので質問
BuilderだとコードヒントでremoveChildrenが出てくるんだけど
Proの方でswf書きだそうとすると
#1069: flash.display.Sprite にプロパティ removeChildren が見つからず、デフォルト値もありません。
が出てしまう。
ライブラリパスはどっちも同じように設定してるはずなんだけど・・・
removeChildrenってFP11のplayerglobal.swcに入ってる・・・で間違ってないよね?
338:Now_loading...774KB
12/02/21 15:20:56.94 vQq6hp4a
何をどうやったかしらんけどここみれ。
URLリンク(cuaoar.jp)
ライブラリパス設定しても無駄だから。
339:Now_loading...774KB
12/02/21 16:28:48.33 ePNvSvPU
ありがとう 試してみる
340:Now_loading...774KB
12/02/21 16:47:31.45 ePNvSvPU
ExtensionManagerが管理者権限で起動しても権限どうたらこうたら出てしまうので、
できるまでremoveChildrenやら使わない方向で行きます・・・
341:Now_loading...774KB
12/02/22 00:32:42.80 3hHo2Jqu
removeChildrenなんてなくてもいいだろ
Stage3D使わないのにターゲットをFP11にする意味はないな
342:Now_loading...774KB
12/02/22 00:49:07.55 Tf4jVTsr
>>336
いや「ループ自体」は速くなるんだろうけど、その中のdrawに掛かる時間は一緒でしょ?
343:Now_loading...774KB
12/02/22 08:04:54.01 oirG2aPR
>>341
問題の焦点そこじゃない
344:Now_loading...774KB
12/02/22 12:28:04.09 979q3B4N
>>342
ループ自体が早いって話はなに?
ArrayよりVectorのほうが高速に要素にアクセス出来るっていう話が前提で、
描画時間にくらべれば、要素にアクセスする時間なんか無視できるぐらい小さいっていってんの?
345:Now_loading...774KB
12/02/22 13:02:16.19 oX4oxnAi
Flashライブラリを作っているんだけど、ちょっとした便利関数を作る場合
・カテゴリごとにパッケージ作って丸裸の関数を入れるか、
・それともカテゴリごとにクラス作ってstaticメソッドとして実装するか
どっちの方が良いのだろうか?Adobe的にはどっちのやり方を推奨しているのかな
346:Now_loading...774KB
12/02/22 13:05:00.14 qhKKZGjt
チェスやオセロなんかの大量の単純計算ならArrayとVectorで速さに明確な差が出るが
比較的重い描画系処理ならたいして変わらないって話じゃない?
347:Now_loading...774KB
12/02/22 13:08:46.30 qhKKZGjt
>>345
推奨なんか特に無いお
便利関数ならカテゴリ云々はわからんがstatic実装だろうな~
複数インスタンスなんかめったに利用しないだろうしstaticの方が速い
348:Now_loading...774KB
12/02/22 13:22:04.90 oX4oxnAi
>>347
いや、ウチが言いたいのは
package 大カテゴリ.小カテゴリ{ public function 便利関数():void{...} }
か、あるいは
package 大カテゴリ
{
public class 小カテゴリ{ public static function 便利関数():void{...} }
}かなんだが……。
static実装には同意
349:Now_loading...774KB
12/02/22 13:42:30.91 meU+M1II
コミュ障ばっかだなあw
350:Now_loading...774KB
12/02/22 13:59:31.87 979q3B4N
>>346
そういう話ならわかるが、そもそもこの話のもとは>>292からはじまってて、
同じ人かわからないけど、
>>301の
>えー。そもそも大量に固定長の配列が必要になるって、何?
とか質問があるわけよ。
>>300で
>ループを高速に処理したいからVector使うかってなるわけで、
って所が前置きとしてあるのに、
>>301で
>えー。そもそも大量に固定長の配列が必要になるって、何?
って…。
100x100x100のループとか普通にやるけどな。
ある一定の配列アクセスが発生するなと思った場合、
固定長Vectorで宣言することでパフォーマンスが稼げるから固定長になるだけなんだが。
FPS稼ぐとかそういったことやる必要が無い人には意識することが無い事なのかな??
可変長であることが確定してる、もしくは動的にしか配列長が決まらない場合は
素直にArrayを使えば良いだけで、
ジェネリック型としてVectorを使いたいってだけで、Vectorでpush使いまくってたら、
そのたびに内部的に再構築されてArrayより遅くなることがわかりきってるわけよ。
保守性とか言ってたけど、型固定で代入時にコンパイラチェックされることが重要とは
とても思えない。Arrayで作ったときに「うっかり」別の型のものを代入する?
宣言時などはあっても、ループ内では考えにくいがなぁ??
最初から使いどころの話をしているわけで、
保守性考えたらVectorを固定長で使わないっていう主張がまるで理解できない。
351:Now_loading...774KB
12/02/22 14:25:53.38 meU+M1II
型が不定なのがクソキモいって人もいるんじゃないの?
君がVector可変で使うのがクソキモくて理解できないのと同じで。
352:Now_loading...774KB
12/02/22 14:28:00.20 meU+M1II
目的が速度だったらpushしてるのはアホだろうけど、必要感じてないらしいからね。
353:Now_loading...774KB
12/02/22 14:48:40.70 xEPG2eul
pushって遅くなんの?
どれくらい?
354:Now_loading...774KB
12/02/22 15:00:06.86 xEPG2eul
2乗するのにビット演算の方が速い、みたいな「根本原理」的な話?
355:Now_loading...774KB
12/02/22 15:01:45.08 xEPG2eul
ageてスマン
356:Now_loading...774KB
12/02/22 15:16:44.77 xEPG2eul
何度もスマン。自分で測ってみたから質問下げる
357:Now_loading...774KB
12/02/22 15:45:42.66 979q3B4N
>>351,352
そういう人も居るだろうけどね、Arrayってもともとそういうものだよ??
型固定じゃないとイヤなのに、intとかプリミティブ型で宣言したのに、Booleanをpush出来てしまう
暗黙的型変換が許容できるのがクソキモイ。
必要感じてないのにVector使うのは俺には理解できない。
pushで最大サイズの拡張が行われたら、Arrayより遅くなるのに。
>>353
いまテストしてみた。100万の配列アクセスの場合。
最悪Arrayの4倍遅い
固定長(Fixed)の20倍
URLリンク(wonderfl.net)
358:Now_loading...774KB
12/02/22 15:48:06.30 979q3B4N
テストしたんか…俺の20分返せ!w
359:Now_loading...774KB
12/02/22 18:19:47.27 VgwNTH2O
俺のいる板だと会話がすぐ煽り合いになるが
マは平和でいいわ
360:Now_loading...774KB
12/02/22 18:34:28.92 3hHo2Jqu
>>350
型決定による速度向上と補完による効率があるからぜんぜんちがうよ
pushで使おうがArrayのpushより速いんだし意味ないわけないじゃない
361:Now_loading...774KB
12/02/22 18:38:48.95 3hHo2Jqu
ああArrayのpushより遅い場合があるのね
失礼
俺は補完(だいじ まあArrayでもできなくはないけど)と型決定があるから常にVectorを押すよ
push使おうが遅くなるのは出し入れする時だけなんだから、読むときはArrayより速いわけじゃん
ネイティブでArray使わされる場合(filterなど)以外はVectorつかうよん
362:Now_loading...774KB
12/02/22 19:05:13.98 8QtLEpE+
push遅いのか
pushみたいな感じので一番速いのなんだろう
363:Now_loading...774KB
12/02/22 21:37:42.80 979q3B4N
>>361
遅い場合があるんじゃなくて、ほとんどの場合遅いのよ。
>push使おうが遅くなるのは出し入れする時だけなんだから、読むときはArrayより速いわけじゃん
なんか矛盾してるが。
>読むときはArrayより速いわけじゃん
は間違い無い。ただ、pop,shiftはナシ。
あと、固定長Vectorであれば、書き込みも読込とさほど差が無い。
だからVectorを使う時は>>292と書いわけだが。
>俺は補完(だいじ まあArrayでもできなくはないけど)と型決定があるから常にVectorを押すよ
>ネイティブでArray使わされる場合(filterなど)以外はVectorつかうよん
型決定はどうでも良い。入れる型が異なることがほとんど無いからね。
しかし、補完があるのが大きいってのはわかる。
それでも、キューの様なpush,popを多用する動作においては採用しないし、
何回もアクセスするような場合は変数に取り出すだろう。(foreachであれば最初からでてるわけだし。)
変数に出してやれば補完の問題も解決するし、Arrayだと基本的なテクニックのひとつだしね。
しつこいとよく言われるが、>>296みたいに添字で書くことなんか普通のことなんだけど、おかしい?
364:Now_loading...774KB
12/02/22 21:56:18.99 3hHo2Jqu
>>363
添字が基本なことに突っ込んでるんじゃないよ
pushで使わざるを得ない時に時にVectorを使うのはアホっていってるのに対して言ってるの
それから型決定って型が決定してることによるアクセス速度の向上のこと言ってるのよ、どうでもよくないだろ
矛盾してないよ
出し(pop)入れ(push)するときはArrayより遅いかもしれないけど、readする時は確実に速いので使い方如何では一概には言えないでしょ、って意味
365:Now_loading...774KB
12/02/22 23:29:59.37 979q3B4N
>>364
えー。Vectorが密な配列、連続したメモリ領域だから早いわけで、
その連続したメモリ領域を確保するためにジェネリクスの構文をわざわざ拡張したんじゃないか。
順序が逆だと思うが。
もし今後拡張でArrayにもジェネリクスが採用されたりした場合、
Arrayも型固定だから速いってことになるよ?
>出し(pop)入れ(push)するときはArrayより遅いかもしれないけど、readする時は確実に速いので使い方如何では一概には言えないでしょ、って意味
出すがpopとは思って無かった。readと思った。
>pushで使わざるを得ない時に時にVectorを使うのはアホっていってるのに対して言ってるの
だれがアホって言ったの?
だいたい>>292でpush使う時に言及しているわけだし、
>Vectorを使いたい時点で固定長を意識した方が良い。
っていうのが何で問題なの?
固定長にするだけでパフォーマンスは確実にあがるわけだよ。
その分気を付けないといけない事が増えるだろうけど。
それを嫌って使わないことを選択することは排除してないけどな?
366:Now_loading...774KB
12/02/23 04:26:25.09 hlXk4FcN
調べてみたら固定長であろうが、添字であろうが、pushであろうが
一度領域を確保させたらその後の添字でのアクセス速度は大体同じだった。
初期化時間がほんの少し変わる程度のレベル。
使い回しで運用するなら何も変わらない。
好みでいいよホント。
367:Now_loading...774KB
12/02/23 22:20:50.15 bCZii22t
初心者です。
例えばAボタンを押して、
ムービークリップをArrayに格納したarr1を表示するときに
A.addEventListener(MouseEvent.CLICK,Aclick);
function Aclick(event:MouseEvent):void {
for each(var ARR:Object in arr1) {
ARR.visible = true;}
}
と記述した場合、
この「ARR」はまた使えるのでしょうか?
別のスプリクトでarr1を押してムービークリップBを表示するときに
for each(var ARR2:Object in arr1){
ARR2.addEventListener(MouseEvent.CLICK,ARR2click);
function ARR2click(event:MouseEvent):void {
B.visible = true;}
}
最初の記述のfor each(var ARR:Object in arr1) {
2番目の記述のfor each(var ARR2:Object in arr1){ のように
毎回var のあとの変数名はかえなければならないのでしょうか?
基本的な質問ですいません。
368:Now_loading...774KB
12/02/23 23:17:12.04 4zJ2MKxN
同じ関数内ならまた使える
他で使いたいなら別の変数で受けておくんだけど >別のスクリプト ってなんやねん
クラスファイルならメンバ変数用意して入れとけば同クラス内のどこからでも参照できる
369:Now_loading...774KB
12/02/24 00:51:13.38 lFddvvqM
>他で使いたいなら別の変数で受けておくんだけど
具体的にどうやるのですか?
370:Now_loading...774KB
12/02/24 00:59:51.37 B98DNoNH
ARR.visibleとか頭痛くなるからやめて(>_<)
371:Now_loading...774KB
12/02/24 01:02:16.44 sjrQC//F
大文字はないな
372:Now_loading...774KB
12/02/24 01:07:00.75 sjrQC//F
警告無視すれば、同じ変数名使っても問題なく動くよ
まあコードとしては問題あるから警告出るんだけど
あるいはArray#forEachとか使えば警告出なく出来るかな
373:Now_loading...774KB
12/02/24 01:49:25.81 mgywVX5W
スレ違いと分かってながら、人が今見てそうと思って皆にヘルプ><
概要:背景に使う画像が2種あり、それぞれをレイヤーに分けている。
AVIで書き出すと、レイヤー1を表示、レイヤー2を非表示の場合は
綺麗に書きだせる。
レイヤー2を表示、レイヤー1を非表示にして書き出すと
ムービー全体が荒くなる。文字やそのほかのおオブジェクト全て。
前者と後者の書き出し方に全く違いは無いはずなのに
○一日かけて書き出ししても一向に改善策が分からない。
教えてエロい人><
374:Now_loading...774KB
12/02/24 02:12:23.40 O3+Z2z4C
>>373
スレチ
まで読んだ
375:Now_loading...774KB
12/02/24 08:26:17.63 qyPhU7PI
AS3のFlash5.5で質問です。
ステージ上にsquareというムービークリップがあります。
そのシンボルはプロパティのライブラリ欄でASリンケージをsquareClassという名前で設定しています。
以下のコードでsquare0~square9のインスタンスを複製したいのです。
for ( var i:int = 0; i < 10; i++ ) {
var name_str:String = "square"+i;
var myClass:squareClass = squareClass(getDefinitionByName(name_str));
addChild(myClass);
}
ところが、以下のようなエラーが出てしまいます。
ReferenceError: Error #1065: 変数 square0 は定義されていません。
at global/flash.utils::getDefinitionByName()
at test_fla::MainTimeline/frame1()
何が足りないのでしょうか?
376:Now_loading...774KB
12/02/24 09:57:29.98 eaKQgxO0
>>375
インスタンスの変数を一度で連番にする方法は、配列に入れるしか無いと思う。間違ってたらごめん
そのgetDefinitionByNameは、クラス名を指定するのであって変数名ではないはず。
つまり、square0~square9のクラスがあるんだったらいいけど、squareClassしか無いのであれば
エラーだと思う。
377:Now_loading...774KB
12/02/24 10:58:02.16 Hi2zR84C
AS2の記述と混同してるっぽいな
AS3なら普通にインスタンス変数複数用意してnewして複製すればおk
var square:Array = new Array();
for ( var i:int = 0; i < 10; i++ ) {
square[ i ] = new squareClass();
addChild( square[ i ] );
}//試してないっす
378:Now_loading...774KB
12/02/24 11:09:58.85 6mEC4lLr
クラス名が小文字で始まるのが気持ち悪いが、
stage.getChildByName(name_str)で複製元がとれるんで、
squareClassにcloneメソッド(クラスのメンバを複製するメソッド)を追加して
やってみればいいんじゃないかな。
379:Now_loading...774KB
12/02/24 11:34:01.04 89pLhC/J
AS3 Flash5.5の質問です。
入力フォーム(インスタンス名:in_text)に文字を入力して、それをswitch文で一致したものを表示したいのですが上手くいきませんorz
in_btn.addEventListener(MouseEvent.CLICK,in_next);
function in_next(e:MouseEvent){
switch (in_text.text){
case "テスト":
trace("テスト");
break;
default:
trace("なし");
trace(in_text.text);
}
}
traceするとin_text.textにはしっかり テスト と入っています。
どうすればよろしいのでしょうか?;;
380:Now_loading...774KB
12/02/24 12:28:11.17 yqBxVBmR
小数点以下の任意の単位で切り捨てたいのですが、うまくできません。
現在下記の公式で切り捨てています。
expr:Number = 切り捨てたい値
digit:Number = 丸めたい単位
Math.floor(expr / digit) * digit
0.3333の0.1未満を切り捨てたい場合、
Math.floor(0.3333 / 0.1) * 0.1 == 0.3の結果を期待したいのですが、
0.30000000000000004となってしまいます。
必要以上に小さい桁を切り捨てたいのですが、どうすればよいでしょうか?
381:Now_loading...774KB
12/02/24 12:46:27.28 6mEC4lLr
>>379
そのスクリプトの最後のほうの
trace(in_text.text); で
なし
テスト
と表示されるなら、default側に来てるってことでしょ。
>>380
Numberは浮動小数点だから、0.3ってものが表現できない。
文字列でフォーマットするか、int/unitで処理して10で割るとか
工夫が必要
382:Now_loading...774KB
12/02/24 12:58:10.79 89pLhC/J
379です。説明不足すみませんでした。
入力フォームでテストと入力してcase"テスト"と一致させ
テスト
を出力させたいのですが、
381で仰られている通り、テストと入力しても一致せずdefaultに流れて
なし
テスト
と表示されています。
一致させて
テスト
を表示させるにはどこを直せばよろしいでしょうか?
383:Now_loading...774KB
12/02/24 13:06:58.73 Hi2zR84C
>>379
var t:String = in_text.text;
switch ( t ){//1回変数で受けてもだめ?
>>380
こうだな
var num:Number = 0.1233456;
num = Math.round( num * 1000) / 1000;//小数点第三位まで
num = Math.round( num * 100) / 100;//小数点第二位まで
384:Now_loading...774KB
12/02/24 13:27:30.36 lJqfUYy5
質問があります。よろしくお願いします。
マウスが押されたら
click_del( e , L_zero_n[0] )
という関数を実行するために、次のようなコードをかきました。
L[0].addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEven
t):void{ A( e , L[0] );} );
このように記述した場合は問題がないのですが、これを複数用意するために、
for(i=0; i <10; i++){
L[i].addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEven
t):void{ A( e , L[i] );} );
}
このように記述すると、コンパイルエラーが発生します。
385:Now_loading...774KB
12/02/24 13:28:01.93 lJqfUYy5
(つづき)
エラーは関数Aの第二引数に書いているL[i]が存在しないというものです。
なので仕方がなく、
L[0].addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEven
t):void{ A( e , L[0] );} );
L[1].addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEven
t):void{ A( e , L[1] );} );
L[2].addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEven
t):void{ A( e , L[2] );} );
…
のように0,1,2,3...とひとつずつ手打ちで記述していますが、
どうにもやりきれない思いを感じます。
おそらくスコープの問題なんでしょうが、for文を使って一気に書いてしまう方法は
存在しないのでしょうか? よろしくお願いします。
関数Aは
function A(e:MouseEvent , MC:MovieClip){
MC.x=400;
MC.y=1400;
}
このように、第二引数のムービークリップの配置座標を変更する処理を行っています。
386:Now_loading...774KB
12/02/24 13:30:13.03 lJqfUYy5
すいません、上から4行目の
click_del( e , L_zero_n[0] ) :誤
↓
A(e,L[0]):正
の間違いでした。申し訳ありません。
387:Now_loading...774KB
12/02/24 13:43:56.67 6mEC4lLr
>>382
試したがうまくいく。
初期文字列に空白とかが入っているとか。
388:Now_loading...774KB
12/02/24 13:49:29.46 89pLhC/J
>>383
駄目でしたorz
が、tのtraceも加えて気になったことが一つあります。
最後のところで
trace("なし");
trace(in_text.text);
trace(t);
の3つを連続traceしているのですが、結果に改行らしきものが入ります。
なし
テスト
←ここ
テスト
※現在こんな感じです。↓
var t:String;
in_btn.addEventListener(MouseEvent.CLICK,in_next);
function in_next(e:MouseEvent){
t = in_text.text;
switch (t){
case "テスト":
trace("テスト");
break;
default:
trace("なし");
trace(in_text.text);
trace(t);
}
}
389:Now_loading...774KB
12/02/24 14:11:34.03 6mEC4lLr
>>388
t.indexOf("\r");
ってやって、-1以外だったら改行コードがはいってることになるね。
390:Now_loading...774KB
12/02/24 14:24:20.71 89pLhC/J
>>389
trace(t);の下に
t.indexOf("\r"); いれてみましたが、
何も返ってこないですね・・・ということは改行コードが入っているのかな?
391:Now_loading...774KB
12/02/24 14:28:27.96 6mEC4lLr
あ、すまん。
trace(t.indexOf("\r"));
ってことです。
392:Now_loading...774KB
12/02/24 14:31:58.80 N7X/EAID
>>384
iの値は保持されないので、
Dictionary使うとか、L[i]にiの値を入れるための変数定義するとか
393:Now_loading...774KB
12/02/24 14:34:27.31 89pLhC/J
>>391
3が返ってきました('-';
-1じゃないので改行が入ってるってことですね(T-T)
394:Now_loading...774KB
12/02/24 14:42:57.07 6mEC4lLr
>>384
> L[0].addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent):void{ A( e , L[0] );} );
ここと
>function A(e:MouseEvent , MC:MovieClip){
> MC.x=400;
> MC.y=1400;
> }
ここを見る限り、
クリックされたオブジェクト(L[0] )がほしいだけだよね。
質問の意図からは外れてしまうが、わざわざFunctionを使うまでもないとおもうんだが。
(別のインデックスのオブジェクトのつもりならだめだが、)
L[i].addEventListener(MouseEvent.MOUSE_DOWN, A );
と普通にイベント登録して、
function A( ev:MouseEvent ) {
var mc:MovieClip = ev.currentTarget as MovieClip;
mc.x = 400; // 以降略
}
でよくない?
395:Now_loading...774KB
12/02/24 14:43:45.74 6mEC4lLr
>>393
ですねw
396:Now_loading...774KB
12/02/24 14:47:14.18 Hi2zR84C
>>384
実行関数は1こにしてインスタンス名を取得して処理を変えるというのが一般的だ
その L :Array には何が入ってるんだお ボタンインスタンスなら
for( var i:int=0; i<L.length; i++ ){
L[i].addEventListener( MouseEvent.MOUSE_DOWN, aaa );
}
function aaa( e:MouseEvent ):void{//実行関数 イベントは複数の引数を指定できない
var st:String = e.currentTarget.name;
trace( st+" クリックしたインスタンス名により分岐処理" );
}
397:Now_loading...774KB
12/02/24 15:19:13.09 6mEC4lLr
>>393
TextFieldのmultilineをfalseに設定したら?
398:Now_loading...774KB
12/02/24 18:55:47.76 89pLhC/J
>>397
TextFieldのmultilineをfalseに設定して単一行にしてもやはり改行が入っちゃうみたいです(T-T)
とりあえず今、TextFieldのプロパティでClssic TextをTLFに変更したらいけました!(この辺まだ勉強してないので
これでいいのかわかりませんが)
改行コードに四苦八苦(削除だとか統一だとか)させられてますが、もうちょい調べて頑張ってみます。
399:Now_loading...774KB
12/02/24 20:17:56.71 NSUKlyLJ
初心者です。
ムービクリップの位置がX座標200/Y座標200にあって
mc.x=100;
mc.y=100;
と記述して位置を変更した場合、
これを『元の位置に戻す』みたいなことはできるのでしょうか?
400:Now_loading...774KB
12/02/24 22:50:34.03 6mEC4lLr
一発でできるようなもんはない。
けど、大して難しくないよね。元の位置を覚えておくだけで良いし。
401:Now_loading...774KB
12/02/25 05:43:25.69 HczmMrqL
質問です。
下記のような処理を行うとエラーとなります。
package {
import objects.MyObject;
~~~~~~~
public class Test() {
public var objects:Array = new Array();
~~~~~~~~
public function Test() {
var len = this.objects.length; // ←未定義のプロパティ length と言われコンパイルエラーとなる
~~~~~~~~
}
}
}
このエラーは恐らく objects という名前が衝突していると思われますが、
名前を変える以外でどうすれば回避できるでしょうか?
ご教授お願いしますm(_ _)m
402:375
12/02/25 10:36:21.34 3xKaILQw
AS3のFlash5.5で質問です。
ここの秀でた方々のおかげでムービークリップの複製は出来ました。ありがとうございます。
そこで質問なのですが、
■やりたいこと
ローカル変数としてstageにaddChildした後に、別関数からそれをアクセスしたい。
下記のコードでは未定義としてエラーとなります。
■前提
ステージ上にsquareというムービークリップがあり、ASリンケージはSquareClassとして定義。
■コード
addSquare();
function addSquare():void {
var square:Array = new Array();
for ( var i:int = 0; i < 10; i++ ) {
square[ i ] = new SquareClass();
stage.addChild( square[ i ] );
}
}
function moveSquare():void {
stage.square[ 0 ].x = 100;
}
■結果(エラー)
シーン 1, レイヤー 'レイヤー 2', フレーム 1、行 12 1119: 未定義である可能性が高いプロパティ square に静的型 flash.display:Stage の参照を使用してアクセスしています。
何が足りないのでしょうか?
403:Now_loading...774KB
12/02/25 11:06:52.72 JczUZ3dj
>>402
stage["square"][0].xでどうかな?
404:Now_loading...774KB
12/02/25 11:10:30.33 JczUZ3dj
>>403
this["square"][0].xとか?
405:Now_loading...774KB
12/02/25 11:12:15.84 3jV9He3h
>>401
方法ない気がする。思いつかないだけであるかもしれないけど。
変数名よりpackage名の方を変える方が手間がかかるが、そっちの方が良いと思う。
ユニークになるようにちゃんと考えてからね。jp.hoge.foo.objectsとかするとそれっぽくなるw
406:Now_loading...774KB
12/02/25 11:16:45.64 aWGuWU9C
>>401
ちがう クラス名の後に()がついてっからだおおお
ここもintかuintにしとけ
var len:int = this.objects.length;
407:Now_loading...774KB
12/02/25 11:36:37.43 3jV9He3h
>>406
うぉ。ほんとや。
FlashBuilderで補完してくれんかったから出来んって思ってたが
コンパイルエラーにはならんねw
408:Now_loading...774KB
12/02/25 11:40:34.28 aWGuWU9C
>>402
クラスファイルにしてるのかフレーム記述なのかどっちだお
メソッド内でvar square:Array = new Array(); 宣言するとsquareはメソッド内のローカル認定されるから
他から参照できないんだ メソッドの外で定義して 参照するときは普通に square[ 0 ].x = 100; でおk
基本的な知識が足りてないぽいな どっかで基本だけお勉強してきた方がいいお
スレで答えが出るまで止まってたら作業なんて進まない
409:Now_loading...774KB
12/02/25 13:08:43.52 lm2JmoWd
>>402
考える意思
410:Now_loading...774KB
12/02/25 17:57:19.25 QMHGhDRb
まぁでも基本って調べようにも調べづらいしなぁ
411:Now_loading...774KB
12/02/25 22:54:46.88 LbXFu1/B
ActionScriptの勉強をはしめたいのですが、オススメの本やwebサイトはありますか?
412:Now_loading...774KB
12/02/26 01:25:53.33 FA8HEhiz
初心者です。
Arrayで格納した5つのムービークリップを
ある1つのボタンを1回押すたびに
[0]~[4]の順番に表示が切り替るようにできますか?
[4]まで行ったら次は[0]に戻るようにしたいです。
ActionScript3.0使用。
413:Now_loading...774KB
12/02/26 01:41:41.23 NOHvZtMq
表示が切り替わる というのをどのように実装したいか次第
配列としてのヒントは(i+1)%5
414:Now_loading...774KB
12/02/26 01:59:23.05 FA8HEhiz
>>413
もう少し詳しく説明お願いします。
スンマセン!
415:Now_loading...774KB
12/02/26 02:03:56.03 NOHvZtMq
>>414
まずやりたいことの問題を切り分けるのが大事
とりあえず
MC2つあった時にそれらをボタンアクションで切り替えることはできるの?
416:Now_loading...774KB
12/02/26 02:18:37.53 FA8HEhiz
今はボタンを押したとき
if(mc1.visible){mc2.visible= true;}
else if(mc2.visible){mc1.visible= true;}
と記述してます。
417:Now_loading...774KB
12/02/26 02:20:26.66 FA8HEhiz
↑えーと、2つとも非表示をしてからです。
418:Now_loading...774KB
12/02/26 04:02:37.98 NOHvZtMq
なら
mc[i].visible=false;
i=(i+1)%5;
mc[i].visible=true
でいいじゃん
>>413の時点で解決してるじゃん
419:Now_loading...774KB
12/02/26 04:58:59.04 m9AoyUQW
全部非表示にした後じゃ、そのifどこも通らなくね?
どうでも良いけど
420:401
12/02/26 06:21:12.30 QzLTKR1f
>>405
やはり名前を変えるしかないんですかね
もう少し足掻いてみますが他に手立てがなければそうします
>>406
抜け落ちてしまいましたが、Test():void、len:int です。
var len:int = this.objects.length; ←これでもエラーとなります。
>クラス名の後に()がついてっからだおおお
これはどういった意味でしょうか?
421:401
12/02/26 06:23:11.96 QzLTKR1f
>>406
見直したら間違っていました。クラス名の()もミスです。
コピペしてるわけではないのでこうなっていまい混乱させてすみません。
クラス名の()が無くても、エラーとなります。
度々申し訳ございません・・・。
422:Now_loading...774KB
12/02/26 08:21:03.27 Lkf+EnJk
>>418
A.addEventListener(MouseEvent.CLICK,Aclick);
function Aclick(event:MouseEvent):void {
mc[i].visible=false;
i=(i+1)%5;
mc[i].visible=true;
}
ってことですか?
423:Now_loading...774KB
12/02/26 08:44:02.26 Lkf+EnJk
>>418
422です。スイマセン、できましたー。
424:Now_loading...774KB
12/02/26 09:26:05.06 Lkf+EnJk
ん?[1]~[4]の順番に表示が切り替って
[4]まで行ったら次は[1]に戻るようにするにはどうしたらいいんだろ
425:Now_loading...774KB
12/02/26 10:29:07.38 eO5xqLJY
>>421
var len:int = objects.length;//メンバ変数にthisはいらないんじゃん?
これでもだめならもうわからん うちの環境ではパッケージ名と被ってもおkだった
426:375,402
12/02/26 11:18:23.25 A0at/yGx
>>403様
stage["square"][0].xにすると以下のエラーが出てしまいました。
ReferenceError: Error #1069: flash.display.Stage にプロパティ square が見つからず、デフォルト値もありません。
at test_fla::MainTimeline/moveSquare()
at test_fla::MainTimeline/frame1()
URLリンク(sky.geocities.jp)
>>404様
this["square"][0].xにすると以下のエラーが出てしまいました。
TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
at _403_fla::MainTimeline/moveSquare()
at _403_fla::MainTimeline/frame1()
URLリンク(sky.geocities.jp)
>>408様
フレーム記述です。
var square:Array = new Array();をメソッドから外出しして、square[ 0 ].x = 100;に変えてみましたが、以下のエラーが出てしまいました。
TypeError: Error #1034: 強制型変換に失敗しました。SquareClass@354960b1 を Array に変換できません。
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at _404_fla::MainTimeline()
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at _404_fla::MainTimeline/addSquare()
at _404_fla::MainTimeline/frame1()
URLリンク(sky.geocities.jp)
何がいけないのでしょうか?
427:Now_loading...774KB
12/02/26 12:43:01.59 IjtfA0TB
ボタンEを押した後はArrayの[0][1]がボタンGを押す度に順に切り替り
ボタンFを押した後はArrayの[2][3][4][5]がボタンGを押す度に順に切り替る
ようにしたいのでが、
G.addEventListener(MouseEvent.CLICK,Gclick);
function Gclick(event:MouseEvent):void {
arr[a+b].visible=false;
a=(a+1)%c;
arr[a+b].visible=true;
}
と記述し、
ボタンEを押したときb=2;c=4
ボタンFを押したときb=0;c=2となるよにしたのですが
E.Fのボタンを押してからBTAを押すとうまくいきません、
もう一回BTAを押していくと大丈夫なのですが。
すいません教えてください。
428:Now_loading...774KB
12/02/26 14:52:03.32 BaBydG0d
常駐して質問してる奴のサポセンみたいになってるなw
自分の頭で考えてからにしてほしいもんだ
429:Now_loading...774KB
12/02/26 15:24:22.91 MwIC8OEx
>>425
うちはFlash Professional CS5でエラー出る
>>407がFlashBuilderでエラーでないらしいから環境の違いかもね
430:Now_loading...774KB
12/02/26 17:26:24.19 /pJ926vy
FlashBuilder4.6です。
スタンドアロンFlashPlayerで表示するFlashムービーを作っているのですが
ウィンドウサイズを最低限UIComponent.minWidth及びminHeightより大きく
表示するにはどうすればよいでしょうか?
widthとheightを固定値にすればその大きさになってくれるのですが、
リキッドレイアウトを想定したデザインにしているため、
出来ればwidthとheightを100%から変えたくないのです。
431:Now_loading...774KB
12/02/26 18:33:41.33 kPB8zu07
>>418理解しました。
mc[i].visible=false;
i=(i+1)%5;
mc[i].visible=true
これで順番にArrayに格納したムービークリップを
表示していけるのが分ったんですが、
逆順番に表示が難しい。
Aボタンを押すと[0]~[4]まで順番に表示を切換え
Bボタンを押すと逆順番に表示したいのですが
うまくいきません。
432:Now_loading...774KB
12/02/26 18:37:55.80 S/Kz+fvk
そうですか
433:Now_loading...774KB
12/02/26 20:24:54.18 NOHvZtMq
>>431
理解したんなら二行目の意味よく考えれば応用できるだろ
ちょっとこの三行がなにやってるのか説明してみ
434:Now_loading...774KB
12/02/26 21:04:12.46 kPB8zu07
iの値を1ずつ増やして
4のときは(4+1)÷5で0に戻してるのは
分るのですが、
4からi+1の値を減らしてくのかな?
うーむ。
435:Now_loading...774KB
12/02/26 21:16:25.12 +stcZHxe
スレチかもだけどAS3について勉強できる書籍教えてください
cs5.5mcかったらflash5ついてたしMX以来久々に触ろうとおもったらmcやボタンインスタンスに直接書けなくなってるしわけわからなくて
436:Now_loading...774KB
12/02/27 02:57:57.34 l+BFSs+J
435
完璧にhtml5変換できるAS2のままの方がいいYO
437:Now_loading...774KB
12/02/27 08:45:45.69 r7EQhl8w
AS2でも完全な変換は無理
438:Now_loading...774KB
12/02/27 09:12:10.77 pxoBi0Rw
>>434
プログラミングに王道なし
キャッチボール(基本)もできないやつに外野フライ(応用)は捕れない。
439:Now_loading...774KB
12/02/27 12:34:12.79 pJgFFd1x
王道ないなら、やり方に指示なんか出来ないはずだが
440:Now_loading...774KB
12/02/27 13:51:27.22 2xdYP+vt
先人がかき分けた獣道があるよ
441:Now_loading...774KB
12/02/28 00:57:35.64 +3kwKHPV
言語によって道が決まるんだから
獣道とは違う
442:Now_loading...774KB
12/02/29 06:11:52.55 yk5bTvCS
ASでクライアントの能力を推定する方法を探しています。
CPUパワーやメモリ搭載量を直接知ることは出来ないので、1つの案として浮動小数点計算を
させて、手元のPCとの対比を考えています。
例えば、ある繰り返し計算(例えば10万回)を手元のPCが100msで終わったとしたら、これを基準
として、クライアントで同じ計算を行いその時間を元に知るというものです。
他に良い案はありますか?
443:Now_loading...774KB
12/02/29 08:13:37.84 DT4jDBvk
アンケート
444:Now_loading...774KB
12/02/29 15:22:10.16 A2/NE12S
>>443に一票
445:442
12/03/01 01:14:43.50 H0TTFYG7
>>443-444
不特定多数の人が対象なので、一旦SWFを起動してもらって
環境に応じて挙動を変えるのが目的です。
446:Now_loading...774KB
12/03/01 01:29:47.26 6LDBT280
一端SWF起動して、そこでアンケート
主に描画がネックなんだから、複雑な描画とかして
FPSとれば?
447:Now_loading...774KB
12/03/01 01:34:11.10 6LDBT280
そもそも自動的に挙動変えなくちゃいかんの?
PCゲームとかのように、オプションで変更可にするほうがよさそうに思えるが
448:Now_loading...774KB
12/03/01 05:04:21.17 yeGZKgHa
>>442
へぇ。面白いねそれ。俺もやってみようかな
449:Now_loading...774KB
12/03/01 12:25:42.92 Zf7WGHrJ
100ms位じゃぶれが大きくてつかえない。
かといって10秒3回とかやられたら
その時点でそのSWF閉じるな。
バックグラウンドで何かやってるのとかも影響するから
結局利用者に選ばせた方が良いと思うんだが。
450:Now_loading...774KB
12/03/01 18:03:43.41 Sapx7fqp
ActionScript3です。
public const hoge:Hoge = new Hoge(this)←こいつにthisを喰わせてやりたいのですが
そのままやるとうまくできません。どうやってthisを渡してやればよいでしょうか?
451:Now_loading...774KB
12/03/01 18:11:13.22 Sapx7fqp
>>450 自己レス。なんかの思い違いだったようです。
普通にthis喰わせることができました
452:442&445
12/03/01 21:24:31.84 S9m7fRjP
>>449
試しに50万回を10回やってみた(単位ms)
value0 = value1 = 0;
for(var idx1:int=0; idx1<500; idx1++){
for(var idx2:int=0; idx2<1000; idx2++){
value0 = value0 + Math.sqrt(value0 + Math.PI);
}
value1 = value0 + Math.sqrt(value0 + value1);
}
procTime= 78
procTime= 63
procTime= 78
procTime= 62
procTime= 63
procTime= 63
procTime= 62
procTime= 62
procTime= 63
procTime= 62
平均と回数= 65.6, 10
そんなにバラつきはなかった。
453:Now_loading...774KB
12/03/01 21:40:02.82 Zf7WGHrJ
>>452
同じ事やってるから最適化が走ってるとおもう。
JITの影響を排除しないといけない。
かといってrndとかそれ自体がぶれるからなぁ。
とココまで厳密にやる必要があるのかも疑問だけどね。
stage3dとか使ってるなら、パフォーマンスに明確な差が出るから
やった方が良いと思うが。
454:442&445
12/03/01 21:49:11.05 S9m7fRjP
>>453
どうも。
上は有効数字2桁だけど、3桁にするために500万回を10回やっても
(JITの影響か)大して変動は無かった。
procTime= 672
procTime= 671
procTime= 672
procTime= 688
procTime= 672
procTime= 672
procTime= 687
procTime= 672
procTime= 671
procTime= 672
(単位ms)
455:Now_loading...774KB
12/03/01 22:00:32.17 Zf7WGHrJ
いや、計算量がだからJITの影響あってもいいのか。
で、それでFPSどのぐらいになるかを試してみて、
いろんなスペックでベンチとって当てはめるぐらいか。
456:Now_loading...774KB
12/03/01 22:03:03.93 Zf7WGHrJ
いや、やっぱfillrateじゃないけど、グラフィックス描画でベンチしないと
あんまり意味無いな。
457:Now_loading...774KB
12/03/04 03:35:28.19 FY8TzlO7
AS3です
コンストラクタをinternalに、グローバル定数をpublicにしたいのですが、
コンストラクタはpublicのみなので、擬似的?に実装する方法はないでしょうか
クラスをinternal、定数をpublicにすると、定数を見つけてくれません
458:Now_loading...774KB
12/03/04 04:47:37.50 mImrIleb
なぜinternalにしたいかによるけど、コンストラクタにinternalなクラスのオブジェクト食わせるのが定石かな
459:Now_loading...774KB
12/03/04 15:14:23.75 FY8TzlO7
>>458
ありがとうございます
見せたいクラスはpublic、そのpublicクラスがinternalクラスを食べ、
publicクラス.internalクラスと使う感じですかね
そのやりかたでやってみます
460:Now_loading...774KB
12/03/04 18:07:49.02 AoE4Hu5+
秋元がどう動くかが気になる
461:Now_loading...774KB
12/03/04 18:08:19.43 AoE4Hu5+
誤爆すみません
462:Now_loading...774KB
12/03/04 18:30:08.57 V3Upn924
>>460
握手会また騒ぎあったね^^
463:Now_loading...774KB
12/03/04 20:17:31.26 mImrIleb
>>459
ClassAコンストラクタにClassBオブジェクトを食わせる方法
new ClassA(new ClassB() );//ClassBはinternalなのでClassAコンストラクタを実行できるのはClassBが作れる、クラス内のひとのみ
ってことだけど実はnull食わせればコンパイルエラーは回避できちゃう
464:Now_loading...774KB
12/03/05 17:40:53.23 1qpOi4Z2
cs3でAS3を使っています。
一つの画像を、別の何枚かの画像を使ってモザイクアート出来るようなライブラリ、
もしくは見本になるサイトってないでしょうか?
探したのですがなかなか見つからなくて。
よろしくお願いします。
465:Now_loading...774KB
12/03/05 19:01:31.00 dM0YzqOB
こういうソフトのこと?
URLリンク(www.lifehacker.jp)
466:464
12/03/05 19:33:10.86 1qpOi4Z2
やりたいことはそういうことです!
具体的には、元々リンケージなりしてあるビットマップを使って、
ウェブカメラで撮影した写真を作るって感じなのですが。
467:Now_loading...774KB
12/03/05 19:55:02.24 dM0YzqOB
グレースケールだったら結構簡単にできるとおもうけど。
468:Now_loading...774KB
12/03/06 01:57:20.29 hXJ5b2h+
Lite1.1 AS2.0です。
FLASH内の変数をそのままツイートする機能を実装したいのですが、どうすればいいのでしょうか。
URLリンク(s.ameblo.jp)
これだと変数がフォームに用意されるだけで、ユーザーに書き換えられてしまうので。
469:Now_loading...774KB
12/03/06 02:05:22.27 t2PavSx0
FlashCS4,AS3です。スレッドライブラリ「そうめん」の学習をしています。
※特に「そうめん」に限定された話しではないのですが、同一ASファイル内に2個以上の
サブクラスを書く方法で悩んでいます。
/* サブクラスの部分 */
import org.libspark.thread.*;
// クラスの呼び出し。 Aは親スレッドのクラス,Bはその子スレッドクラスです。
class A extends Thread{
override protected function run():void{
// スレッド A によってスレッド B を開始する
trace('Hello');
var b:B = new B();
b.start();
}
}
class B extends Thread{
override protected function run():void{
trace('World');
}
}// ここまでサブクラス
470:469の続き
12/03/06 02:05:54.65 t2PavSx0
こうしてメインクラスで var a:A = new A(); a.start(); とすると a が未定義プロパティ扱いされます。
ところが、class B の部分をコメントアウトして無効化し、呼び出しもしない場合はすると問題なく動作します。
ASファイル全体の構成は
package{
[ メインクラス ]
}
[ 上記のサブクラス群 ]
の順番です。 どうすべきでしょうか?
471:Now_loading...774KB
12/03/06 02:17:39.74 GZ01iWDP
>>468
swf単体では無理
OAuthでググれ
OAuth使うにしたってユーザーが書き換えられずに勝手につぶやかれるスパム機能は考えなおせマジで
472:Now_loading...774KB
12/03/06 10:26:26.69 BEuucfUQ
>>469
オーバーライドしてvar b:B に書き換えたんなら a:Aは未定義になるに決まってんだろ
クラスファイルのルールなんかは把握してる?
クラスファイル内には何個でもクラス定義できるがパッケージ外に定義したものは外から参照できず
同じファイルのクラスからじゃないと無理
パッケージ内にはパブリッククラス1個しか定義できない 関数、変数名も同じで同名なのは1個だけ
473:Now_loading...774KB
12/03/06 10:33:45.69 BEuucfUQ
あー もしかしてサブクラスをパッケージ外に定義しても使えないって話かな?
外部から呼べないから無理だよねw 試してないからわからんが
474:469-470
12/03/06 11:02:23.68 v0s8nh6j
>>472
さんきゅう。
「サブクラスをパッケージ外に定義しても使えない」という様子です。
ググるとCS4ではメインクラス以外には複数のクラスを設定できないとのことなので、
URLリンク(fumiononaka.com)
CS5で実行するとOKでした。 念のため、メインクラス部をコピペしておきます。
package{
import flash.display.*;
import org.libspark.thread.*;
public class MyDocumentClass_04a extends Sprite{
public function MyDocumentClass_04a(){
if (Thread.isReady == false) {
Thread.initialize(new EnterFrameThreadExecutor());
var a:A = new A();
a.start();
}
}
}
}
// この下に上記のサブクラス群
475:466
12/03/06 11:20:32.85 /xfsZyU/
>>467
グレースケールでも良いのですが、とにかく画像のピクセルの解析?なども
全く分からなくて手がつけられません…。
ライブラリでも参考でもいいので無いかなと探しているのです。
476:Now_loading...774KB
12/03/06 11:22:16.44 BEuucfUQ
気になったからこっちでも調べてみた
> override protected function run():void{
> override protected function run():void{
パッケージ外のクラスメソッドにアクセスするにはpublicじゃないとエラー出たな
publicに直してみ 親のクラスのも
477:Now_loading...774KB
12/03/06 11:26:02.11 BEuucfUQ
>>475
おめえのやろうとしてる事はかなりメンドイ事なんだお まずは普通のモザイクにチャレンジだ
URLリンク(hakuhin.jp)
478:469-470
12/03/06 11:36:17.54 v0s8nh6j
>>476
public class A extends Thread{
public class B extends Thread{
とすると、
1114: public 属性はパッケージ内でのみ使用できます。
となり、パッケージ内に移動すると>>472的に
5006: ActionScript ファイルには外部から表示可能な複数の定義は使用できません
というエラーになります。
やっぱCS5でないと駄目っぽいです。
479:Now_loading...774KB
12/03/06 11:55:49.43 BEuucfUQ
ずっと勘違いしてたすまん やりたい事は
パッケージ外のプライベートクラスから他のプライベートクラスのインスタンス生成 って事だよね?
CS5.5でも実行されなかった(エラーは無し) 継承有りでも無しでも同じ エラーが出ないのが気持ち悪いな
結論:複数クラス定義は基本的に非推奨だからやめた方が吉 パッケージ外には関数だけにしとけ
480:469-470
12/03/06 12:09:40.60 v0s8nh6j
>>479
さんきゅう
「パッケージ外には関数だけにしとけ」 ・・・ 確かにそうではあるのですが、『そうめん』
の学習でURLリンク(www.libspark.org) を参考にASを書いて
いるのでこうなっちゃいました。
481:Now_loading...774KB
12/03/06 12:57:40.42 GPnTKBOo
すみません。FileReferenceのsaveを使ってローカルにファイルを保存しているんですが、この時表示される選択ウィンドウをブラウザないしFlashの中央にする事って出来ますか?
中央でなくても位置指定の方法がわかれば教えてください。
482:Now_loading...774KB
12/03/06 15:50:37.05 GPnTKBOo
下のようなグリッドを作ったのですが、ヘッダの境界線の左側に別に白い線が表示されてます。
これって何でしょうか? 消せませんか?
<mx:DataGrid textAlign="center" borderColor="#5652AF" headerColors="#5652AF" color="#B6D7EB"
horizontalGridLineColor="#B7BABC" verticalGridLineColor="#5652AF">
<mx:columns>
<mx:DataGridColumn headerText="日付"/>
<mx:DataGridColumn headerText="時刻"/>
</mx:columns>
</mx:DataGrid>
483:481,482
12/03/06 16:44:46.23 GPnTKBOo
すみません。書き忘れてましたが、AS3です。FLEX3.5でやってます。
484:464
12/03/06 18:36:44.21 /xfsZyU/
>>477
ありがとうございます。
そのサイトは見ていたのですが、ようは、 new flash.display.BitmapDataを作って
置き換えている部分を、任意のBitMapにすればいいのではとは思ったのですが、
そこをどうすればいいのか…
すみません。ややこしいのですね。
485:Now_loading...774KB
12/03/06 19:54:30.14 EhOs+/Lo
処理速度を計算するときに何万回実行して~ミリ秒って書いてあるけど、1万回だったら1回処理する時間は1万分の○ミリ秒ってこと!?
486:Now_loading...774KB
12/03/06 21:56:20.87 jirUcBgg
>>485うん
487:Now_loading...774KB
12/03/06 22:17:25.60 JEqpKhXB
すいません
loaderで読み込んだBitmapをアニメーションさせたいんですけど
どこかにいいソースコードありませんか?
MovieClipだと重くなるので同じことをBitmapでやりたいのですが
488:Now_loading...774KB
12/03/06 22:37:03.96 wRPJ8PVM
shapeのアルファを1から減らしたときに
描画の重なった部分が濃くなってしまうのを防ぐにはどうしたらいいのでしょうか?
489:Now_loading...774KB
12/03/07 01:05:38.24 mQPB0RZz
>>488
alphaってのは透過させたい時に使うもんだ
単に薄くしたいなら描画する色を薄くするべし
490:Now_loading...774KB
12/03/07 19:52:45.63 kc+3J2/G
FlashCS5,AS3,WinXP-Pro
URLリンク(www.libspark.org)を参考にスレッドライブラリー
『そうめん』の使い方を勉強しています。
この『6. 割り込み機構』の2項目「外部ファイルを読み込みとキャンセルボタン」で実際に
割り込み(キャンセルボタン)ボタンをStageに配置しました。
外部テキスト(440KB)を読み込ませる途中でキャンセルボタンを1回押しても反応が無いので、
再度押すとCS5が落ちました。
ASは文字コードの部分以外はほぼHPのまんまですが、皆さんの中でこれを試された人は
いますか?
※必要とあらば手元のファイル一式をZipでUpできます。
アドバイス願います。
※テキストファイルの読み込み自体はOKのようです(2KB程度のテキストで検証)
※HPのサンプルには文字コード用の System.useCodePage = true; が無いので
override protected function run():void{
System.useCodePage = true;
としました。
491:Now_loading...774KB
12/03/07 20:51:15.02 G9/qLnFN
>>486
えっ!?そんなに速いの!
趣味でホームページにFLASHの簡単なゲーム作ろうかなって思って勉強してて
なんか重いイメージがあったから処理を的確に
最適なものをしていかないと行けないと思ってたんだけど
ある程度動くのかなー、
着せ替えゲームみたいなのにしようと思ってるんだ。
でも描画処理に時間かかるのか。
とにかくAS3うまく書かないとスゴい遅くなるイメージ。
492:Now_loading...774KB
12/03/07 23:52:59.23 f7rHHWYU
>>491
デバイスのスペックと処理ないようによる
ゲーム系は重たくなりやすいから気をつけたほうがいい
493:Now_loading...774KB
12/03/08 02:14:34.70 OEvufe+3
>>491
着せ替えゲームのようなもので、描画処理が間に合わないとかまずない。
よほど古いスペックのデバイスでもない限り、描画速度は十分。
494:Now_loading...774KB
12/03/08 12:13:29.18 REg53ZMI
そっか。
ちょっと安心した!
生意気にも去年でたMacBookPro使ってるから、他の環境ではどう動くか気になってた。
描画処理って線>面>ビットマップって載ってたよ、イラレでイラスト書いたとき線つけてしまった。
495:Now_loading...774KB
12/03/08 14:55:20.82 pNBMVxWh
素人が普通に作ったFlashなら描写余裕
素人がちょっと調子に乗っちゃって変なことやると重くなる
496:Now_loading...774KB
12/03/08 23:00:39.08 rfoK0QZq
質問です
actionscript3のmxml
<s:Application xmlns:fx="URLリンク(ns.adobe.com)"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
xmlns:local="*">
<fx:Declarations>
<local:aaa id="class1"/>
<local:bbb id="class2"/>
</fx:Declarations>
<s:Button label="class1 start" id="button" click="class1.start(text.text)" />
<s:Button label="class2 start" id="button2" click="class2.start()" y="30" />
<s:TextArea text="sss" id="text" x="10" y="100" />
</s:Application>
↓へ続きます
497:Now_loading...774KB
12/03/08 23:01:03.20 rfoK0QZq
aaa.as
package {
import mx.core.IMXMLObject;
public class aaa implements IMXMLObject{
public function initialized(document:Object, id:String):void {
}
public function start(string:String) :void
{
data:String = string+"です"; ←これ
}
}
}
bbb.as
package {
import mx.core.IMXMLObject;
public class bbb implements IMXMLObject{
public function initialized(document:Object, id:String):void {
}
public function start() :void
{
ここでaaa.asの変数dataを参照したい
}
}
}
のように、ボタンを二つ作りそれぞれにclickを指定するとき、
button1のclickをしたときに作った変数やオブジェクトを、
button2をclickをしたときに使用したいのですが、
どのようにするのがいいのでしょうか?
バインドというのは見つけたのですが、actionscript内だけでは対応はできないのでしょうか?
498:Now_loading...774KB
12/03/08 23:47:01.72 OEvufe+3
なんのために IMXMLObjectをインプリメントしているかわかってるんかな??
> ここでaaa.asの変数dataを参照したい
これは無理。
クラスaaaのメンバ変数ではなく、関数内でのみ有効な変数だから。
MXMLを介在させることを前提にするなら、aaaに実装したinitializedの引数document
がそのMXMLのインスタンスだから、それをつかってアクセスすればいい。
499:Now_loading...774KB
12/03/08 23:51:04.17 OEvufe+3
微妙に間違ってるな。
> MXMLを介在させることを前提にするなら、aaaに実装したinitializedの引数document
> がそのMXMLのインスタンスだから、それをつかってアクセスすればいい。
MXMLを介在させることを前提にするなら、bbbに実装したinitializedの引数document
がそのMXMLのインスタンスだから、それを保存しておいてアクセスすればいい。
document.class1でaaaのインスタンスにアクセス出来る。
500:Now_loading...774KB
12/03/08 23:56:56.79 RQriW7tp
スレチかもしれませんが、phpとの通信で質問です。
URLリンク(www.artful.jp)
ここにある通りの処理をしている筈なのですが、flashのムービープレビューだと
値の中身がうまく表示されません。(phpの本文が出力されている)
一応phpとは通信できているようなのですが、どうすればいいのでしょう?
apacheは起動してます。
501:Now_loading...774KB
12/03/09 00:24:36.43 Nm8Z6QoR
phpがApacheに正しく組み込まれているか確認してみた?
502:Now_loading...774KB
12/03/09 00:26:38.30 6NqzAfxe
>>501
php単体だと平気だったので(echoとかで中身が表示されてる)
通信の仕方が悪いのか、確認の仕方が悪いのか……
503:Now_loading...774KB
12/03/09 01:16:45.24 Nm8Z6QoR
> (phpの本文が出力されている)
って時点で、httpヘッダがオカシイわけだしねぇ。
リクエストのURLをブラウザにそのまま張るとどうなるの?
504:Now_loading...774KB
12/03/09 01:34:54.54 6NqzAfxe
$var='野獣先輩';
echo "&var=".$var;
apache起動後アドレスバーにphpファイル名を入力すると、
ブラウザ上には野獣先輩と表示されています。
ところがムービープレビューでtraceしてみると.$var. ?>みたいな事が表示されます。
505:Now_loading...774KB
12/03/09 01:51:53.66 Nm8Z6QoR
うーん。全部みんとわからんが、URLじゃなくてファイル名ってところが気になる。
506:Now_loading...774KB
12/03/09 01:56:03.40 6NqzAfxe
>>505
URLリンク(localhost)
これだとブラウザに値が表情されてます。
phpはよく分からないのですが、これで大丈夫なんですよね?
507:Now_loading...774KB
12/03/09 07:27:14.62 nhdm0wKt
>>498-499
ありがとうございます
助かりました
508:Now_loading...774KB
12/03/09 10:09:35.29 FoTObuVR
ゲームの攻撃エフェクトを作りたいのですが、探しても無くて困ってます
"エフェクト"だと画面効果ばかりヒットしてしまって
エフェクトとかパーティクル以外でそういうものが検索できる言葉ってありますか?
509:Now_loading...774KB
12/03/09 10:12:23.05 DhA3tMNh
>>508
どんなエフェクトだよ
510:Now_loading...774KB
12/03/09 12:01:30.32 ro8kmz1f
>>506
それで表示されるんなら大丈夫やね。
traceした結果が、スクリプト全部出てくるほうがまだわかりやすいけど、
一部しか出てないのかな?
ムービープレビューじゃなくて、一度デプロイしてみてためしてみたらどうだろう。
511:Now_loading...774KB
12/03/09 14:46:44.67 W67uIt+F
PHP側の文字コードの話じゃないの。
512:Now_loading...774KB
12/03/09 15:17:28.20 ro8kmz1f
それだったら文字化けしたとか、結果がちがうくない?
513:Now_loading...774KB
12/03/09 17:29:36.39 DhA3tMNh
?>が表示されてんだからphp側の問題じゃないの?
phpコードさらさない限りわからんけど
514:Now_loading...774KB
12/03/09 20:21:16.85 6NqzAfxe
本文は>>500まんまです。
UTF8で保存しています。
515:Now_loading...774KB
12/03/09 20:28:07.23 WQ12JlUO
>>514
一番最初に<?phpいれてる?
516:Now_loading...774KB
12/03/09 20:42:39.92 qxYGKkrE
FlashCS4,AS3,WinXP
TextAreaとTextInputに共通なのですが、背景の色の変更が分かりません。
URLリンク(www.flash-jp.com)
を見ると tArea.setStyle("backgroundColor", 16進RGB色); で変更可能とのことですが、
この通りやっても背景は白のままです。
別案として tArea.textField.backgroundColor = 16進RGB色; としても同じでした。しかしこの
場合は、trace(tArea.textField.backgroundColor)で見るとしっかり指定した色が参照できます。
つまづいてます。どこが問題なのでしょうか?
517:Now_loading...774KB
12/03/09 22:24:01.72 6NqzAfxe
>>515
<?php
$a=100;
$b=200;
print("&a=".$a."&b=".$b);
?>
ムービープレビューでtraceを見てみると
a=".$a."
b=".$b);
?>
と表示されてしまいます。
518:Now_loading...774KB
12/03/09 23:10:57.08 DhA3tMNh
>>517
本当にphpサーバー動いてる?
拡張子.phpになってる?
519:Now_loading...774KB
12/03/09 23:18:21.21 6NqzAfxe
>>518
拡張子はphpですし、apache起動後にアドレスバーからURL入れて表示させる分には上手くいってるみたいです。
両ファイルともhtdocsに入ってます
。
520:Now_loading...774KB
12/03/09 23:32:53.15 Nm8Z6QoR
はじめの方の書き込み見てないんだろうな・・・。
521:Now_loading...774KB
12/03/09 23:33:37.26 Nm8Z6QoR
で、>>510が言ってることは実行したの?
522:Now_loading...774KB
12/03/09 23:54:07.16 6NqzAfxe
デプロイですか?
phpに触れるのは始めてなのでよくわからないのですが、
デプロイするにはカピストラーノ等を導入しないといけないのでしょうか。
ちなみにメモ帳で書いてます。
as以外は初めてなのですいません。
523:Now_loading...774KB
12/03/10 00:18:07.73 a49Ax5zH
>>519
phpが動いてないか直接ファイルをよみこんでるかなんだよな
524:Now_loading...774KB
12/03/10 00:31:22.51 F+ac7yjX
>>523
FLASH側ではsendAndLoadで読み込んでます。
525:Now_loading...774KB
12/03/10 08:31:18.07 XvLR9ZOc
flash初心者です
ある動作をランダムに行いたいと思っているのですが、
どうすればいいのかわかりません。
ある動作をランダムというのは、
例えばシンボルが4つあり、それを下(ステージ外)から
ランダムに泡のようにうようよと浮かび上がってくる感じです。
526:Now_loading...774KB
12/03/10 09:06:24.77 FJxgO3qB
>>525
先ず、制作環境を書きましょう。
あと「ActionScript 泡 浮」で調べよう。
527:Now_loading...774KB
12/03/10 10:28:49.37 a49Ax5zH
>>524
Flash自体もURLリンク(localhost)○○.swfに置いてる?
サーバーに上げたら確実に解決するよ
528:Now_loading...774KB
12/03/10 10:53:47.14 XvLR9ZOc
>>526
すいません、忘れてました
でも、言われた通り検索してやってみるとイメージ通りだったので解決しました
どうもありがとうございます
529:Now_loading...774KB
12/03/10 12:21:00.73 XvLR9ZOc
またすいません、先ほど質問した者です。
AS3で、
あるボタンを押すと指定された画面内に表示される動作をしたいと思ってるのですが、
この場合ターゲットパスで良いのでしょうか?
その画面が一枚絵ではなく、色々動作を加えたものなのですが…
530:Now_loading...774KB
12/03/10 19:16:52.61 F+ac7yjX
>>527
サーバーに上げても無理でした。
どうやらflashがtxtとして読み込んでるみたいです。
プロパティを見るとphpなのに、どうなってるんでしょうか?
531:Now_loading...774KB
12/03/10 19:24:26.31 F+ac7yjX
ちなみにコード
flash側
var lv = new LoadVars();
//PHPと通信
lv.sendAndLoad("test.php", lv);
lv.onLoad = function(success:Boolean) {
//PHPとの通信完了後の処理
if (success) {
trace("接続成功");
//----- 結果取得 -----//
trace("a="+this.a);
trace("b="+this.b);
} else {
trace("接続失敗");
}
};
532:Now_loading...774KB
12/03/10 19:25:29.18 F+ac7yjX
php側
<?php
//Flashからの引数
//$money = $_POST["money"];
//$syohin = $_POST["syohin"];
$a=100;
$b=200;
print("a=".$a."b=".$b);
?>
apacheも起動してますし、同じファイルに入れて実行してます。
php単なら問題無く動作しています。
533:Now_loading...774KB
12/03/10 20:36:15.37 a49Ax5zH
>>530
ロリポップサーバーに上げてみたけどうまくいくぞ
URLはhttp://から入力したけど
534:Now_loading...774KB
12/03/11 15:44:26.37 ReD4Z46d
結局>>505が言ってたオチか。
535:Now_loading...774KB
12/03/14 00:30:02.77 tbIOcVor
>>533
自鯖に上げたところ、値を読み込むようになったのですが
やはりローカルで実行するとphpをtxtと思って読み込んでしまうみたいです。
これはapacheが悪いのでしょうか?
536:Now_loading...774KB
12/03/14 00:32:00.84 tbIOcVor
なんでもないです。できました。ありがとうございます。ありがとうございます。
537:Now_loading...774KB
12/03/15 18:21:10.63 uvKQMrOe
複数の画像ファイルを読み込んで画像の切り出しをしたいのですが
上手くいきません
ひとつの画像ファイルだけならなんとかできたのですが
どこか参考になるサイトなどないでしょうか?
538:Now_loading...774KB
12/03/16 04:31:53.26 vIOh0udf
Objectを宣言する際に、キーに変数を使用したいのですがどうしたらいいですか?
↓やろうとしていること
-------------------------------------------
var varKey:String = 'key1';
var obj:Object = {
varKey : 'aaa', // ← obj.key1
key2 : 'bbb' //← obj.key2
};
trace(obj.key1, obj[varKey], obj.key2); // 'aaa', 'aaa', 'bbb'
-------------------------------------------
どなたかお願いします
539:Now_loading...774KB
12/03/16 10:28:10.53 DIje9j3v
obj宣言した次の行に obj[varKey]='aaa' で良いんじゃないかな
540:538
12/03/17 02:48:23.06 8gzPPybX
>>539
回答ありがとうございます。
そのやり方で可能なのは知っているのですが、
今回訳あって宣言時に使用したいのです。
541:Now_loading...774KB
12/03/17 12:05:56.25 jFUdp5sM
訳あっての訳を書けば
どーせくだらない理由なんだから
やる意味がないことが明らかになるぞ
542:538
12/03/17 12:17:51.50 8gzPPybX
>>541
技術的に不可能なのでしょうか?
543:Now_loading...774KB
12/03/17 12:56:31.00 jFUdp5sM
技術的に
の言葉の使い方がおかしいな
544:538
12/03/17 13:32:16.65 8gzPPybX
>>543
ActionScript(ちなみに3です)ではこのような使用は不可能なのでしょうか?
例えばPHPでは(連想配列になりますが)下記のようにできます。
$varKey = 'key1';
$arr = array(
$varKey => 'aaa',
'key2' => 'bbb'
);
var_dump($arr); //array(2) { ["varKey"]=> string(3) "aaa" ["key2"]=> string(3) "bbb" }
545:538
12/03/17 13:32:50.93 8gzPPybX
訂正:
var_dump($arr); //array(2) { ["key1"]=> string(3) "aaa" ["key2"]=> string(3) "bbb" }
546:Now_loading...774KB
12/03/17 15:15:15.77 Eq/GnJAf
どんな訳だよ。
気になって夜も眠れないから教えろよ。
547:Now_loading...774KB
12/03/17 16:08:03.99 lqx2Y4yD
とりあえず↓で出来たぞ
var obj:Object;
var prop:String = "key1";
obj = { (prop.toString()):1 };
548:538
12/03/17 16:47:26.98 8gzPPybX
>>547
ありがとうございます!!!!!
無事に解決しました!
549:Now_loading...774KB
12/03/17 19:31:15.10 dc9aZQ2I
くだらなすぎわろた
マジで訳を聞かせてよ
550:Now_loading...774KB
12/03/19 09:15:40.71 SPAuX5Jr
ループ中にtrace()を使うと時々ログが飛ぶのですが何か対策はありますか?
551:Now_loading...774KB
12/03/19 10:33:23.66 SPAuX5Jr
自己解決しました
tracerabbitというソフトを使って見ていると正常にログが書き出されませんでした
みなさんご注意を
552:Now_loading...774KB
12/03/20 21:09:13.64 KbmB98KR
Red5やFlashMediaServerについての質問はこちらでいいでしょうか?
NetConnection.callでサーバーのApplicationクラス名を指定して呼び出すときは
そのクラス名から作られたオブジェクトを呼び出しているということなのでしょうか?
だとすると、newもせずに自動でそのクラスからオブジェクトが作られたと
いうことになると思うのですが、それではオブジェクトは自動で作られたその一つしか
存在しないことになるので、実質的にはインスタンスオブジェクトというより静的クラスのように
なると思うのですが、そういう認識でいいのでしょうか?
553:Now_loading...774KB
12/03/20 21:16:22.71 uYM1ezvd
よくありません
554:Now_loading...774KB
12/03/20 21:57:35.31 KbmB98KR
>>553
すみません、つまりcallは何を呼び出していて
それはどのように作られているものなのでしょうか?
実験してみるとstatic変数もインスタンス変数も両方効いていたので
インスタンスのオブジェクトではあると思うのですが、だとすると自動で作られているということは
一つしかサーバーの中には存在しないわけなので、
サーバーが起動したときに
「Application名A Application名A = new Application名A();」のように
クラス名と同名のオブジェクトが作られていてそれをcallで呼び出すという
仕組みなのかと考えました
よろしくお願いします
555:Now_loading...774KB
12/03/20 21:59:04.57 KbmB98KR
すみません、下から3行目は「それをcallで呼び出す」ではなくて
「そのオブジェクトのメソッドをcallで呼び出す」でした
556:Now_loading...774KB
12/03/22 18:30:35.51 1U/k6bQx
基本的なことなんですけど、MXMLで右側にだけ
borderをつけるにはどうすればいいんでしょうか?
557:Now_loading...774KB
12/03/22 23:40:08.45 VI6omeMp
>>556
バージョンはFlex4以降?
どっちにしろHTMLとCSSのようにまでは簡単じゃない。
558:Now_loading...774KB
12/03/23 06:22:35.54 QSc0utZX
>>557
Flex4です
こういう場合はどうするのが定石なんでしょうか?