[表示 : 全て 最新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/


2 名前:Now_loading...774KB mailto:sage [2011/12/27(火) 10:47:50.98 ID:htJJYGSo]
いちおつ

3 名前:Now_loading...774KB mailto:sage [2011/12/27(火) 21:56:03.04 ID:DXGYvCkF]
AS3で質問です
ムービークリップにフィルタをかけると、widthプロパティの値がフィルタのぶんを含んだ値になりますよね?
たとえば、本体が64pxの円オブジェクトにぼかし15pxくらいの光彩フィルタとかかけると、160くらいの数値が返ってきます
ここからフィルタの分を除外して、本体の64pxという値を得るのに賢い方法ってないんですかね?
一応、下の感じでいったんフィルタ無効にして、変数に格納してからまた有効にすれば取得自体はできるんだけど、なんかすごく頭の悪いことをやっている気がする今日この頃
var my_filters = this.filters;
this.filters = [];
realWidth = this.width;
realHeight = this.height;
this.filters = my_filters;


4 名前:Now_loading...774KB mailto:sage [2011/12/27(火) 22:23:27.06 ID:W0UWpmkT]
AS3,CS4でタイルリスト(TileList)のスクロールで質問です。
SWFはうpしています。
www1.axfc.net/uploader/Flash/so/2122 → 「再生する | click here to view.」

MC(mcA)内に内包されたTileListの各タイル(要素?)にMC(mc0〜mc9の10個)をソースとして
設定し、mcAをステージに置いています。 親子構造は下記のようになります。

 親側) Stage -- mcA -- TileList -- [各要素(mc0〜mc9)] (子側

これでUpしたSWFのようにスクロールは出来たのですが、どれかのタイルをクリックすると
スクロールが元に戻ってしまいます。

traceで動作確認したところタイルクリックの度に初期化されるようで、mcA で定義している
addEventListener(Event.ADDED, this_newed, false, 0, true); は removeEventListener
したはずですが関数this_newed がクリックで呼び出されます。
 
案としては verticalScrollPosition で位置を把握し、戻ったスクロール位置を再度設定する
方法を考えましたが、もっと良い方法を探しています。
※というか、何故も初期化?(元に戻る?)

何かアドバイス願います。


5 名前:4 [2011/12/27(火) 22:32:31.37 ID:W0UWpmkT]
(追記です)
UpしたSWFの右上のボタンを押すとmcAに内包されたTileListが表示されます。

ブラウザでの表示手順も修正します
www1.axfc.net/uploader/Flash/so/2122 
→ 「Flash_2122.swf をダウンロードします」のボタンを押す
→ 「再生する | click here to view.」 をクリック

----------------------

ちなみに、昔から使っていたSWFアップローダー swfup.info/upload.php
は下のエラーが出て使えないです(Firefox8.0.1使用)
Warning: fputs(): supplied argument is not a valid stream resource in /var/www/domain/swfup.info/upload.php on line 306


6 名前:Now_loading...774KB mailto:sage [2011/12/28(水) 04:00:54.46 ID:ugTVkTwl]
>>3
サイズ取得って、当たり判定とか取るの?
とりあえず一番簡単な方法は、表示用のMCとサイズ取得用のMCを宣言すること。

場合によるけど、フィルターをかける場合はBitmapDetaに一旦落としてそいつにかけると軽いよ。
特に、ほとんどフレームが変わらないMCや、大量に同じMCを使う場合に置き換えると効果が高いよ。
書込み元のMCはaddChildしてなくても、BitmapDetaには書き込めるので、表示する必要はなし。
詳しいやり方は、「AS3 プリレンダリング」でググればいい。

7 名前:Now_loading...774KB mailto:sage [2011/12/28(水) 08:32:49.60 ID:pzC+GiYp]
>>6

>とりあえず一番簡単な方法は、表示用のMCとサイズ取得用のMCを宣言すること。
さっそくのレス感謝です
なるほど、そのほうがシンプルですね

>場合によるけど、フィルターをかける場合はBitmapDetaに一旦落としてそいつにかけると軽いよ。
忠告どうもです
プリレンは一度試したいと思っていたので、この機会に勉強してみます

8 名前:4&5 mailto:sage [2011/12/28(水) 08:36:52.18 ID:mF2anYSO]
(TileListのスクロールについて)
色々試しましたがやっぱり変な動作をします。

どうやらASファイルを使ってMCを継承作成したオブジェクト内にTileListを
addChildするとダメのようです。 ステージに予め設置したMC内にaddChildしたら
問題なく動作するのですが・・・

とりあえず回避策で対処しました。 ありがとうございました。


9 名前:Now_loading...774KB [2011/12/28(水) 08:44:21.71 ID:O/rnH8fA]
AS3でCS4のWinXPです。 MovieClipのClass型への変換が分かりません。
まず mc0 = new MovieClip(); として、mc0.name = "aBoxes" と名付けました。

これで var class0:Class = mc0 as Class; 

var class0:Class = getDefinitionByName(mc0.name) as Class;

2パターンを試しましたが、前者は traceで null になり、後者は
 ReferenceError: Error #1065: 変数 aBoxes は定義されていません。
という警告がでました。

どうしたら良いでしょうか?


10 名前:Now_loading...774KB mailto:sage [2011/12/28(水) 09:08:26.15 ID:ugTVkTwl]
>>9
なぜ、MovieCripをClassに代入?
(継承元のため)Objectには代入できるけど、これではだめ?
あなたの実装でClassに代入する理由を教えてください。



11 名前:9 mailto:sage [2011/12/28(水) 17:58:11.77 ID:jSHZmBJI]
>>10
どうも。経緯を説明しますと、>>4-5でTileListの生成を試みた者ですが、一応目的の
形状でタイルが並べられました。
このとき、タイルの要素の元データを dataProvObj = new DataProvider(); で設定するため

var sheetProp:Array = new Array();
sheetProp[0] = {label:"my first-baby", source:R};
sheetProp[1] = {label:"Morning", source:G};
・・・
・・・
sheetProp[9] = {label:"Hello", source:X};

for (var idx:int=0; idx<sheetProp.length; idx++)
dataProvObj.addItem(sheetPropArr[idx]);
}

として表示させました。 ここでsourceの「R」とか「G」はCS4のライブラリ(リンケージの
書き出し名が「R」とか「G」)に由来したもので、これらを他のオブジェクト(MC)に随時変更
できるようにしたく思いました。 
※つまり、TileList要素(タイル)の中身をダイナミックに変更したい。

trace(sheetProp[0].source) で調べてみると、[Class R] とか [Class G] だったので
上のように
var class0:Class = mc0 as Class; または
var class0:Class = getDefinitionByName(mc0.name) as Class;
として

sheetProp[0].source = class0;
で代入すれば良いと思ったのですが、Class型に変換できなかったです。

まとめると、「TileListの要素に任意のMCを随時変更して使いたいから型変換したい」ということです。


12 名前:Now_loading...774KB mailto:sage [2011/12/28(水) 20:34:06.92 ID:ar+LjL/8]
変換とかしなくても、constractorプロパティを入れてやればいいんじゃねーかな
sheetProp[0].source = mc0.constractorてな具合に

13 名前:9&11 mailto:sage [2011/12/28(水) 22:25:57.29 ID:UnuOUtn6]
>>12
さんきゅうです。なんとなく出来ました。
mc0 = new MovieClip();
// mc0にgraphicsでベタ塗り矩形を描画
sheetProp[0].source = mc0.constractor;

trace(sheetProp[0].source) は以前は null だったのですが、[class MovieClip]
と出ました。 ・・・ ただし、TileListの要素(ベタ塗り矩形が出るはず)は真っ白です。

そこで、
mc0 = new R();//リンケージの書き出し名が「R」とか「G」
sheetProp[0].source = mc0.constractor;
ではTileListの要素に目的の図形が出ました。

どうやら、(ASファイル由来はどうか分かりませんが)ライブラリのリンケージから
呼び出せばOKのようです。

以上、お礼と報告まで。


14 名前:Now_loading...774KB mailto:sage [2011/12/28(水) 22:53:10.22 ID:ar+LjL/8]
そりゃMovieClipクラス入れてもねぇ・・・何も出るわけ無いわ
そのRとかGってのは、MovieClipクラスを継承して作られたクラスであって
ただのMovieClipクラスとは別物だし

15 名前:Now_loading...774KB [2011/12/29(木) 17:53:44.36 ID:xY81hYht]
FLASH DEVELOP上でflパッケージを使って、Combo Boxとかを使おうと思っています。

log.xingxx.com/2009/04/flashdevelopflashcs4fl.html
d.hatena.ne.jp/turipat/20090527/1243442885
d.hatena.ne.jp/kamip/20090812/1250048777
blog.wszz.org/archives/262

上記等のURLの手法を用いていろいろやってみたんですが、いずれの手法でもFLASH DEVELOPで実行してみると
エラーは出ずにデバッグ画面が「応答なし」になってしまいます。

なぜだか分かる方いらっしゃいますか?PCには一応CS4が入っています。

16 名前:Now_loading...774KB mailto:sage [2011/12/29(木) 23:26:18.55 ID:E4qAQuF3]
なんだよ一応って・・・・

17 名前:Now_loading...774KB mailto:sage [2011/12/30(金) 13:23:55.69 ID:Tmaz4Pku]
またお邪魔しますモバイルAIRアプリをFLEXで作っている者です。

実はあるビューが遷移時やアプリ終了時等に破棄される直前に送られるイベントを探しているのですが、
生成時のものは幾つか見つかるのですが、その破棄される時の物がなかなか見つかりません。
どなたかその様なものがあれば教えてください。

ちなみに自分で見つけたうちの一つdeactivateは画面が切り替わった時だけ、もう一つexitStateは多分ビューが破棄された後に出されているのでしょう。あるビューにそのリスナーを置いても反応が有りません。

18 名前:Now_loading...774KB [2012/01/01(日) 13:19:10.26 ID:eTMrIMfJ]
すんません。教えてください。
画面にtextinputとlistを設置してtextinputに入力された値に応じて動的にlistの中身を変化させたいのですが
(googleなどで検索する時に途中まで入力すると検索候補が出てくるようなイメージです)
どうやれば実装できるのでしょうか?ヒントだけでもいいいので教えてください。

19 名前:Now_loading...774KB mailto:sage [2012/01/01(日) 17:42:27.45 ID:gDdxQNOZ]
>>18
文字入力毎に発生するイベントを調べて見たら良いかもしれません。

20 名前:Now_loading...774KB [2012/01/06(金) 03:25:09.59 ID:Z1+yebMA]
AS3,WinXP-Pro,CS4(Player10.0,AIR1.5)

テキストフィールド(tF0)をUIScrollBarでスクロールしながらここから複数行(12行分)
抽出し、別のテキストフィールド(tF1)に代入していますが、ある特定の文字列に差し
掛かったときスクロールが無効になり、複数行抽出ができなくなって困っています。

※SWFでもAIRでも同じ症状として出ます。

具体的には、tF0が100行くらいあったとき
0行目〜11行抽出 →(スクロール)→ 1行目〜12行目抽出 →(スクロール)
→ 2行目〜13行目抽出 → ・・・ n行目〜n+11行目抽出 ・・・

のとき、tF0の n 行目に path という単語と var という単語が出現すると抽出が出来ず
スクロールも不可になります。
試しに、pathを pat とか pat0 にすると問題なく動作し、var も va とか va0 でOKでした。

抽出は、n行目とn+11行目の文字位置を tF0.getLineOffset(行インデックス) で把握し、
 tF1.text = tF0の文字列.substring(開始位置, 終了文字位置);
でしています。

動作が止まった場合、もう一度UIScrollBarを操作するとSWF(AIR)ウインドウの上部の
SWF(AIR)のタイトルの横に (応答なし) というメッセージが出ます。

考えられる原因は何でしょうか?

-------
なお、スクロールイベントは try 〜 catch (errorEvt:Error) {// エラー時の処理 }
で対処するようにしていますが、何も出ません。 
※ErrorクラスにはIllegalOperationErrorとか色々ありますが、このtry 〜 catch 用に
適切なものは何かありますか?




21 名前:Now_loading...774KB mailto:sage [2012/01/06(金) 10:15:02.05 ID:FO8EGtDC]
それってエラー無く動いてるswfでダイナミックテキストからテキスト入力へ
クリック→ドラッグ選択、コピペしようとしてるって事?
実際に見ないとわからんな 現象が現れる最小限のコードでのswfをどっかにうpってみてよ

22 名前:Now_loading...774KB mailto:sage [2012/01/06(金) 16:23:34.88 ID:W4Az//59]
var camera:Camera = Camera.getCamera();
var video:Video = new Video(320,240);
var pngEncoder:PNGEncoder = new PNGEncoder();
var bytes:ByteArray = pngEncoder.encode(bmp);
if (camera){省略}
btnCapturer.addEventListener(MouseEvent.CLICK,createStill);
function createStill(eventObject:MouseEvent):void
{var bitmpdt:BitmapData = new BitmapData(320,240);
bitmpdt.draw(video);
var bitmp:Bitmap = new Bitmap(bitmpdt);
bitmp.x = 400;
bitmp.y = 50;
addChild( bitmp );}
var loader:URLLoader = new URLLoader();
var file:FileReference =new FileReference();
file.save("data","xxx.png")
カメラの映像からキャプチャした画像をデスクトップに保存したいのですが、
『未定義である可能性が高いメソッド PNGEncoder の呼び出しです。』
というエラーが出てしまいます。
(上記したasはぐぐって調べたものを張り合わせたものです。)
cs5使用です。大変初歩的で申し訳ありませんが、教えていただけるとありがたいです。

23 名前:Now_loading...774KB mailto:sage [2012/01/06(金) 17:28:27.05 ID:poPEhRXu]
importしなきゃならないやつなんでない?

24 名前:Now_loading...774KB mailto:sage [2012/01/07(土) 04:54:46.52 ID:c7tfT/o4]
PNGEncoderはmxパッケージだろ

25 名前:Now_loading...774KB mailto:sage [2012/01/08(日) 08:16:27.76 ID:+r5EsgFW]
Flash Lite 3.1 対応の携帯用に
電子辞書みたいな機能を持つswfを作りたいのです

今suzukaで作ったフラッシュに
再生したり停止したりするボタンを付けたところ
PC上ではマウスでクリックしてうまく動いたのに
携帯でタッチしても停止してくれませんでした
どうすればいいんでしょうか?

ボタンにはこういうスクリプトが入っています
マウスでクリックしたらきちんと止まったのに
携帯上でボタンをタッチしても何も起きないですOTL
on (release) {
this.stop();
}

26 名前:Now_loading...774KB mailto:sage [2012/01/08(日) 11:34:26.29 ID:QYmZpzDY]
よくわからんな そのケータイってスマホだよね?
スマホならPCと同じようにボタン(インスタンス)クリックで動作すると思うんだけど

27 名前:25 mailto:sage [2012/01/08(日) 12:08:46.38 ID:+r5EsgFW]
>>26
スマフォじゃないです
keitaiall.jp/930SC.html
です

28 名前:25 mailto:sage [2012/01/08(日) 12:17:09.03 ID:+r5EsgFW]
今少し状況が分かってきました
上下左右キーでフォーカスを動かしてOKボタンで停止させることは出来ました
ただ画面にタッチすると停止してくれないようですOTL

29 名前:25 mailto:sage [2012/01/08(日) 12:44:54.01 ID:+r5EsgFW]
help.adobe.com/ja_JP/AS3LCR/Flex_4.0/flash/events/TouchEvent.html#top
今アドビのサイト見てきたんですが
もしかしてFlash Lite 3.1ではまだタッチは使えないのでしょうか?

30 名前:25 mailto:sage [2012/01/08(日) 13:41:09.46 ID:+r5EsgFW]
なんかFlash Lite 3.1でタッチは使える様です
thinkit.co.jp/article/776/1
何で自分の携帯だと全然ボタンをタッチできないですかOTL



31 名前:Now_loading...774KB mailto:sage [2012/01/08(日) 14:28:49.29 ID:ViTYnIWC]
>>30
ケータイがFlashのタッチに対応してないんじゃない?

32 名前:Now_loading...774KB mailto:sage [2012/01/08(日) 14:49:06.67 ID:QYmZpzDY]
タッチ時のonイベント内でtraceさせても何も出ないの?
ダイナミックテキストエリアを画面内に作ってトレースしたい情報を出力して確認してみ

それからどんなボタンインスタンスかわからないけど ボタン内のヒットエリアはちゃんと付けてる?
ヒットエリア無しのテキスト文字のみのボタンだとスマホ側で超反応しづらい

それからsuzukaってのが気になるw

33 名前:25 mailto:sage [2012/01/08(日) 16:00:05.38 ID:+r5EsgFW]
>>30
ああああああああああああぁぁぁぁああああOTL

>>31
「ダイナミックテキストエリアを画面内に作ってトレースしたい情報を出力して確認してみ」
意味が全く分からないです・・・

文字を■にして文字の黒い部分を増やしてやってみましたけど駄目でした

34 名前:25 mailto:sage [2012/01/08(日) 16:09:29.92 ID:+r5EsgFW]
作ったのはこれです
ダウンロードパスはpです
loan.tf-bank.net/10MB/dl/1326006491.swf

35 名前:Now_loading...774KB mailto:sage [2012/01/08(日) 17:11:28.12 ID:QYmZpzDY]
色々と勘違いしてるっぽいな 「通過」ってなんだおw マウスオーバーの事だろ?
ケータイにはマウスオーバーやロールオーバーの機能は無いじゃん
だからオーバー時のコードはケータイでは実行されない

あと基本的な事はハクヒンさんとこで勉強してくれ ttp://hakuhin.jp/

36 名前:Now_loading...774KB mailto:sage [2012/01/08(日) 18:49:22.79 ID:ViTYnIWC]
>>34
flaでupしろよ

37 名前:25 mailto:sage [2012/01/08(日) 22:12:22.54 ID:+r5EsgFW]
>>35
とりあえずボタンの設定を全部入れてみたと言う感じでして・・・
iup.2ch-library.com/i/i0528853-1326028217.jpg

>>36
flaで出力する方法はまだ分からないです・・・。

38 名前:Now_loading...774KB mailto:sage [2012/01/08(日) 23:43:04.69 ID:ViTYnIWC]
>>37
もしかしてAdobeFlashじゃない?

39 名前:Now_loading...774KB mailto:sage [2012/01/09(月) 00:51:20.52 ID:DryW2Xe+]
おもいっきりsuzuka言ってるじゃん

40 名前:Now_loading...774KB mailto:sage [2012/01/09(月) 01:09:48.75 ID:c8uA6DBl]
>>39
すまぬ

suzukaはflaファイルに出力できないの?



41 名前:25 mailto:sage [2012/01/09(月) 02:33:32.83 ID://yupwrT]
>>40
ごめんなさい、昨日初めてフラッシュ作ったばっかりなんで
ソフトの機能もまだよく分かってないです
メニュー見てもfla出力っぽいものはなさそうですし・・・

42 名前:Now_loading...774KB mailto:sage [2012/01/09(月) 11:11:30.54 ID:9BZgtuWJ]
あるわけねえだろ…

43 名前:Now_loading...774KB mailto:sage [2012/01/09(月) 11:15:12.34 ID:c8uA6DBl]
>>41
flapg.com/slot.swf
これは押せる?

44 名前:Now_loading...774KB [2012/01/09(月) 13:10:12.36 ID:X+iaJWwT]
サウンド関連の質問でつ(AS3)
サウンドクラスを作成 通常サウンドとループサウンドの2種類があり
ループサウンドのみSoundChannelインスタンス、ボリューム設定メソッドをstaticにしてクラス名でアクセスしてます
ボリューム値も2種類用意しループサウンドはstaticにしてます

ループサウンドを再生中に通常サウンドを再生するとループサウンドの音量が若干下がります
インスタンス、ボリューム値を分けているにもかかわらずなぜ干渉してしまうのか?
もしかして全体の合計音量にMAXがあって自動で調整されてるって事なの?

45 名前:Now_loading...774KB [2012/01/09(月) 14:18:07.65 ID:jSHWDpi+]
安藤優子、木村太郎は、某プロパイダの社外取締役、かつ、安藤は、フジ社外の人間にもかかわらず、フジテレビジョンのM&Aの最中、フジのホワイトナ
イトの【親会社】の本業を無視して、「インターネットは虚業だ。具体性がない
。」というようなことをコメントしました。この虚業は、livedoorを指していた
としても、「同業者」であったということは、非常に、違和感を感じずには、い
られません。


46 名前:25 mailto:sage [2012/01/09(月) 22:39:06.71 ID://yupwrT]
>>43
携帯でも
stopのボタンがクリックできます

47 名前:Now_loading...774KB mailto:sage [2012/01/10(火) 00:48:33.91 ID:Uuq9xi+Z]
>>46
FlashLiteのASは1?2?

1ならon(release){であってて
2ならムービークリップ.onMouseDown=function(){
っぽい

48 名前:25 mailto:sage [2012/01/10(火) 01:52:09.75 ID:KsJABN96]
>>47
すいません
意味が良く分からないので調べてきます
有難うございます

49 名前:25 mailto:sage [2012/01/10(火) 02:10:26.98 ID:KsJABN96]
>>47
もしかして
Flash Lite 3.1 はActionScript2っていう仕様で作ればいいっていうことは
以前調べて分かってたんですが
その事でしょうか?

50 名前:Now_loading...774KB mailto:sage [2012/01/10(火) 08:22:13.97 ID:Uuq9xi+Z]
>>49
そう
AS2で作ればいいと思う
FlashProでもFlashLite3.1は初期設定がAS2だから
AS1で作りたいなら設定を変えるかFlashLite1.1にするかしかないと思う



51 名前:Now_loading...774KB mailto:sage [2012/01/10(火) 11:17:01.34 ID:+w8Z+Gnf]
ちょっとどこで聞いたらいいか分かんないので
ここで聞かせてもらいますが、wordpressで
swf上げたんだけど、その中で読み込むimageや
xmlのURLが指定してるのと変わってしまうみたい
なんだけどどなたか分かる人、教えて下さい。

52 名前:25 mailto:sage [2012/01/10(火) 13:56:47.89 ID:KsJABN96]
>>50
なんか、作るんなら
FlashPro買った方がいいのかと悩みますが
新しい携帯買ったらアンドロイドになるだろうし
そうしたらフラッシュじゃなくて他の言語で作りそうな予感・・・
うううううん・・・

53 名前:25 mailto:sage [2012/01/10(火) 15:01:34.19 ID:KsJABN96]
suzuka専用スレを見つけたんでas2行けるのかとか聞いてきます

54 名前:Now_loading...774KB mailto:sage [2012/01/10(火) 16:06:26.45 ID:5PGfSyea]
アンドロイド向けのほうがAIRいいのに

55 名前:Now_loading...774KB mailto:sage [2012/01/10(火) 17:11:57.41 ID:Uuq9xi+Z]
>>54
AIR重たくない?

56 名前:Now_loading...774KB mailto:sage [2012/01/10(火) 20:14:33.01 ID:x4ZlKWlM]
つか静的なモノならHTMLとJavaScriptで作った方が早いんじゃないかと

57 名前:25 mailto:sage [2012/01/10(火) 21:00:04.33 ID:KsJABN96]
>>56
それも考えたんですけど
メーカーの方で
スクリプト設定をOFFにしておかないと個人情報が
どうのこうのという携帯の機種なもので・・・

58 名前:25 mailto:sage [2012/01/10(火) 23:52:05.48 ID:KsJABN96]
すいません。
戻ってきました。
だいぶん色々出来る様にはなってきたんですが
(パスはpです)
loda.jp/0tm/?mode=pass&idd=1672

結局、
onMouseDown=function(){
の使い方が全く分かりません

動いているキノコ(インスタンス名ugoku)がスプライトで
そのスプライトに
ugoku.onMouseDown=function(){
stop();
}
というのをくっつけてみたんですけど
「onClipEventまたはonが必要です」
っていうエラーが出てしまって
そもそもクリックされたら動いてるキノコがとまるんじゃないの???
っておもってしまいます
少し解説をお願いできないでしょうか?

59 名前:Now_loading...774KB mailto:sage [2012/01/11(水) 00:10:42.08 ID:5wTpnar+]
paraflaだとタイムラインに
on(press)

60 名前:Now_loading...774KB mailto:sage [2012/01/11(水) 00:42:30.17 ID:5wTpnar+]
途中で書き込んでしまった
エラーメッセージのまんまなんだけど
ムービークリップ(suzukaでいうスプライト)にスクリプトを記述する場合は
onClipEventかonで始まるイベントハンドラを使わないといけない
ttp://www.geocities.jp/para_core/kouza/as.html

ugoku.onMouseDown=function()を使ってキノコをクリックしたときに何かさせるなら
(_root)
1フレーム スプライト(ugoku)
2フレーム スクリプト(ここにugoku.onMouseDown=function(){)
3フレーム 停止
これでできんじゃね?



61 名前:Now_loading...774KB [2012/01/11(水) 09:50:28.52 ID:DcygMYzI]
フルフラッシュサイトを作っている途中で、
ボタン作成中に行き詰ってしまっています。

POLICYボタン BUISINESSボタン、PARTHER、COMPANYなど、4つのボタンに逆再生のロールオーバー、アウトをいれたいのですが、
以下のプログラム文(>>61)を他のボタン4つにも適応させるにはどうすればよいでしょうか?

全くの初心者ですがお願いします。

62 名前:61 mailto:sage [2012/01/11(水) 09:53:45.85 ID:DcygMYzI]
//再生を停止
but_policy.stop();
// 各変数の初期化と宣言
var nMove:int = 0;
var nNextFrame:int;
// 鉢植えMC に EnterFrame イベントリスナーを登録 実行関数 playalp
but_policy.addEventListener(Event.ENTER_FRAME,plaYalp);
// 関数 plaYalp の定義
function plaYalp(evt:Event):void {
if (nMove != 0) {
var nNextFrame = evt.target.currentFrame+nMove;
if (1<=nNextFrame && nNextFrame<=evt.target.totalFrames) {
evt.target.gotoAndStop(nNextFrame);
} else {
nMove = 0;
}
}
};

63 名前:61 mailto:sage [2012/01/11(水) 09:55:20.08 ID:DcygMYzI]
// policym MC 内の policyボタンに
// RollOver イベントリスナーを登録 実行関数 potRollOver
but_policy.policy.addEventListener(MouseEvent.ROLL_OVER,potRollOver);
// 関数 potRollOver の定義
function potRollOver(evt:Event):void {
nMove = 1;
}
// policy,MCの policyボタンに
// ROLL_OUT イベントリスナーを登録 実行関数 potRollOut
but_policy.policy.addEventListener(MouseEvent.ROLL_OUT,potRollOut);
// 関数 potRollOut の定義
function potRollOut(evt:Event):void {
nMove = -1;
};

64 名前:Now_loading...774KB [2012/01/12(木) 01:10:57.43 ID:2viD3KHu]
Actionscript2 で上から落下してきたオブジェクトがバウンドして
バウンドの幅がだんだん小さくなって行って止まるというのは
どのようにしたらよいのでしょうか。

横に弾んでいくのではなく、同じ場所で縦にバウンドする動きです。

65 名前:Now_loading...774KB mailto:sage [2012/01/12(木) 01:23:10.03 ID:jlPVOxjz]
Flex4.6でアンドロイドのアプリを作っています。

<s:Scroller width="500" height="100">
<s:HGroup >
<s:TextArea></s:TextArea>
<s:TextArea></s:TextArea>
<s:TextArea></s:TextArea>
</s:HGroup>
</s:Scroller>

とMXMLを書いて実行、どれかのTextAreaに文字を書いて
スクロールさせると一瞬文字がスクロールに付いてこない現象が起きます。
直す方法は無いでしょうか?

66 名前:Now_loading...774KB mailto:sage [2012/01/12(木) 01:35:40.30 ID:6O1RCtWU]
>>64
ttp://hakuhin.jp/as/move.html#MOVE_05
縦にバウンドさせるならX座標をいじらなければいい

67 名前:51 mailto:sage [2012/01/12(木) 01:56:10.40 ID:DrwfIRSA]
絶対パスで行けました

68 名前:Now_loading...774KB [2012/01/12(木) 14:36:17.08 ID:qUbfsc5v]
検索でうまく答えがみつからないので質問させて下さい。ほぼ初心者です。

【使用ソフト】Adobe Flash Pro CS5 / AS2.0
【やりたい事】外部テキストを読み込んで中身を配列に取り込んだ後、htmlを維持したまま表示させたい。
【困っている事】外部テキストを配列に取り込んで順番に表示させる事はできているが、htmlが反映されない。
例)
「一行目
 二行目」と表示したいのに
「一行目<br />二行目」と表示されてしまう。

【実際のソースの一部】※
System.useCodepage = true; //文字化け防止
myLV = new LoadVars(); //読み込む器の準備
myLV.load('text.txt'); //外部テキストファイルを読み込む

myLV.onLoad = function () { //外部ファイルを読み込んだら実行
html = new Array(); //配列の準備
html = myLV.html.split(','); //外部テキストの要素を「,」で区切って配列に入れる
text.text = html[0]; //配列の一番目を表示←〓ここでhtmlが効かない〓
}
-------
※内容を順番に表示させる為の処理は長くなるので省略しました
インスタンス名「text」で変数は設定していません。
また、テキストのプロパティで「htmlにレンダリングする」にはチェックを入れてあります。
-------
【試してみた事】
単純に外部テキストを読み込んで、インスタンス名をつけず変数名を指定したテキストエリアではhtmlが反映されました。
動的に表示を変化させるエリアではhtmlを反映させる方法はないのでしょうか?

69 名前:Now_loading...774KB mailto:sage [2012/01/12(木) 14:44:39.82 ID:Ljt2EVmc]
ようわからんがtextでなくhtmlTextなんじゃないのそれ。

70 名前:68 [2012/01/12(木) 14:50:22.43 ID:qUbfsc5v]
>>69 さん

おっしゃる通りに
text.htmlText = html[0];
にしたところ、問題なく反映されました!

すみません、そんな事も知りませんでした。
ありがとうございます。助かりました!
頑張って完成させます!



71 名前:65 mailto:sage [2012/01/13(金) 10:31:35.12 ID:teGxBykJ]
すいませんAIRスレで聞き直します。

72 名前:Now_loading...774KB [2012/01/13(金) 17:55:50.49 ID:z6vu9drW]
as3で質問です

ステージに複数のシンボルhogeがあって、以下みたいにまとめて記述したいのですが、エラーになります。
どこがいけないのでしょうか?

for (var i=1; i<=10; i++) {
this["hoge_" + i].addEventListener(MouseEvent.MOUSE_DOWN,function(event:MouseEvent){
this["hoge_" + i].startDrag();
});
}


73 名前:Now_loading...774KB mailto:sage [2012/01/13(金) 18:21:30.31 ID:z6vu9drW]
>>72です
自己完結しました。
失礼しました。

74 名前:Now_loading...774KB mailto:sage [2012/01/13(金) 18:23:23.75 ID:z6vu9drW]
>>72です
やっぱり自己完結出来てなかった…

75 名前:Now_loading...774KB mailto:sage [2012/01/13(金) 18:52:30.80 ID:GpeXcSMZ]
>>74
hogeの後のアンダーバーを消したら行けた


76 名前:Now_loading...774KB [2012/01/13(金) 19:01:42.75 ID:z6vu9drW]
>>75
行けねえっすよ…

this["hoge_" + i].startDrag()
のiに値が渡ってないっぽい??
どうしたら…??

77 名前:Now_loading...774KB mailto:sage [2012/01/13(金) 19:27:33.68 ID:GpeXcSMZ]
>>76
同時にDragはできないんではないの?
MouseOut時にstopDragするとか
ひとつだったらできるんでしょ?

78 名前:Now_loading...774KB mailto:sage [2012/01/13(金) 19:39:55.71 ID:lv5Ghape]
>>77
うーむ
実際はstopDragも書いてるのだが…

hoge_1〜10にドラッグアンドドロップのアクションをまとめて付けたいだけなのです

79 名前:Now_loading...774KB mailto:sage [2012/01/13(金) 19:52:12.32 ID:GpeXcSMZ]
>>78
マウスオーバーしたやつにStartDragつければ、
全部書く必要なくない

80 名前:Now_loading...774KB mailto:sage [2012/01/13(金) 19:57:52.95 ID:GpeXcSMZ]
これでいけるよたぶん
for (var i=1; i<=10; i++) {
this["hoge_" + i].addEventListener(MouseEvent.MOUSE_DOWN,function(event:MouseEvent){
event.target.startDrag();
});
}



81 名前:Now_loading...774KB mailto:sage [2012/01/13(金) 19:59:40.52 ID:lv5Ghape]
>>79
>>80
ありがとうござます!
やってみます!

82 名前:Now_loading...774KB mailto:sage [2012/01/13(金) 19:59:57.87 ID:GpeXcSMZ]
こうやわ
for (var i=1; i<=10; i++) {
this["hoge_" + i].addEventListener(MouseEvent.MOUSE_DOWN,xMouseDown);
}
function xMouseDown(event:MouseEvent):void{
event.target.startDrag();
}

83 名前:20 mailto:sage [2012/01/15(日) 00:19:49.24 ID:WlMHhbaj]
>>21
レス遅くなりすみません。原因が分かりました。

「特定の文字列に差し掛かったときスクロールが無効になり」と書きましたが、
文字列の中身には関係無く、その位置が代入先のテキストフィールド(tF1)の文字
インデックス0のときに生じるトラブルでした。

これは、各行頭に意図的に半角スペースを入れて誤魔化すことで回避出来ました。
※抽出アルゴリズム上で細工しても解決しなかったので。

つまり
abc012// エラー
efg345// エラー

つまり
 abc012// OK
 efg345// OK

となりました。


84 名前:Now_loading...774KB [2012/01/15(日) 00:47:08.00 ID:ptj4quGH]
AS3,Player10.0,CS4です。

テキストフィールド(txt)は tf:TextFormat = new TextFormat(); としたとき
tf.url と tf.target と txt.setTextFormat(tf, 始点, 終点) で文字列内の指定部分に
ハイパーリンクを設定出来て、指定部分ではマウスカーソルが自動的に指マーク
になりますが、マウスカーソルの変化を感知するにはどうすれば良いでしょうか?

例えばテキストフィールド(txt)に
 東京電力[福島第一]原子力発電所の調査委員会 

を仮定し、[福島第一]にリンクが設定してあった時にマウスカーソルが縦棒線(I ビーム
カーソル)→指マークになったことを感知したいです。

マウスの位置で文字列位置をgetCharIndexAtPoint()で把握し、そこから[福島第一]が
含まれるかどうかという方法を考えましたが個々の文字毎にEvent.ENTER_FRAME処理
をしないといけないので処理が重くなりそうなので別案を探しています。



85 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 03:17:44.24 ID:3NoyEflf]
AS3 CS3です
1フレーム目にはstop();と記述してあり、MCが一つ配置されている
このMCを最後のフレームまで再生し終わった後、メインタイムラインの2フレーム目に移動するにはMCの最後のフレームに何と書けばいいんでしょうか?
parentを頭につけるだけでは駄目でした
超初歩の質問ですみません

86 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 03:43:23.99 ID:ptj4quGH]
MCの最終フレームにparent.gotoAndPlay(2)は?


87 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 04:17:43.30 ID:3NoyEflf]
>>86
こんな時間にスレタイ通りに早い回答ありがとうございます!
しかしparentでは1061のエラーが出て駄目でした…

88 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 04:59:20.40 ID:nCDJuWO/]
>>87
parentが、DispalyObjectContainerになってるとか言われてるんでしょ?
その場合は、MovieClipにしてやればOK
MovieClip(parent).gotoAndStop(2)

89 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 05:07:30.67 ID:ptj4quGH]
>>87-88
キャストってやつね


90 名前:Now_loading...774KB [2012/01/15(日) 05:38:04.28 ID:7i+f/Epu]
AS3でCS5を使用しています

シンボルにマウスオーバーすると音が流れ、マウスアウトすると音が消えるようにするにはどうしたらいいのでしょうか?
最初はボタンでやろうかと思ったのですが
音が流れたままになってしまったのでアクションスクリプトにすることにしたのですが、よく分からず…教えてください



91 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 06:37:26.87 ID:ptj4quGH]
>>90
addEventListener マウスイベント MouseEvent
でググる。
シンボルが子を持つ場合には、MOUSE_OVERとROLL_OVERの違いに注意。


92 名前:84 mailto:sage [2012/01/15(日) 06:50:45.22 ID:ptj4quGH]
(自己レス)
マウスカーソル変化の感知自体は出来なかったのですが、txt.getTextFormat(A, B)
でTextFormat設定の有無を感知して処理することが出来ました。

またEvent.ENTER_FRAMEでなく、MouseEvent.MOUSE_MOVEを使えば軽くなりそうです。


93 名前:90 [2012/01/15(日) 10:16:07.18 ID:7i+f/Epu]
>>91
有り難うございます。
マウスオーバーして音がでるようにはなったのですがアウトした時に停止できません

var sound_obj : Sound = new soundmusic( );

btn1.addEventListener(MouseEvent.MOUSE_OVER, onOver);
btn1.addEventListener(MouseEvent.MOUSE_OVER, onOut);

function onOver (e:MouseEvent):void {
var sound_obj : Sound = new soundmusic( );
sound_obj.play();
}

function onOut (e:MouseEvent):void {
var sound_obj : Sound = new soundmusic();
var channel : SoundChannel = sound_obj.play();
channel.stop();
}
となっているのですがどこを直したらできるでしょうか?

94 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 11:23:52.11 ID:TSnH4Sug]
SoundChannelをメンバ変数にしないとだめかも んでSoundChannelで再生、停止をする
// サウンドを再生
var channel : SoundChannel = sound_obj.play(0,3);
// サウンドを停止
channel.stop();
詳しくはハクヒンさんとこ見るんだ

95 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 11:53:08.77 ID:yivFxBfV]
ていうかどっちの関数もMOUSE_OVERにaddしてるっていう

96 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 11:56:41.51 ID:ptj4quGH]
>>94
ハクヒンさんと言っても初心者は知らないのでは?
ということでURL ttp://hakuhin.jp/as3.html



97 名前:90 [2012/01/15(日) 12:37:43.03 ID:7i+f/Epu]
>>94-96
ありがとうございます。
何度も何度もすみません、有り難うございます。
ハクヒンさんの見ても同じ文になってしまい…メンバ変数というのは
var sound_obj : Sound = new soundmusic();
var channel : SoundChannel = sound_obj.play();
channel.stop();
ではできていないのでしょうか?
sound_obj.play()の中に入る0,3は開始時間と繰り返す回数ですよね。
あとMOUSE_OVERが二つあるのは直しました。

98 名前:Now_loading...774KB [2012/01/15(日) 13:47:15.51 ID:SlJtb9Gt]
>>97
var channel : SoundChannel
関数の中で変数を宣言してるのでchannel変数はローカル変数になり
スコープ{}の外からアクセスできない

onOverで再生してonOutで停止しようと思ったら
どちらからでもアクセス可能な場所にchannel変数を用意する必要がある

addEventListener(MouseEvent.MOUSE_OVER, onOver);
addEventListener(MouseEvent.MOUSE_OUT, onOut);

var channel : SoundChannel = null;

function onOver (e:MouseEvent):void {
var sound_obj : Sound = new soundmusic( );
channel = sound_obj.play();
}

function onOut (e:MouseEvent):void {
if(channel){
channel.stop();
channel = null;
}
}

99 名前:90 mailto:sage [2012/01/15(日) 15:35:48.05 ID:7i+f/Epu]
>>98
ありがとうございました!できました
前の書き方だとOnOutしかアクセスできなくて駄目だった…ということでしょうか?
アクションスクリプト勉強します
本当に有り難うございました

100 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 16:07:01.89 ID:yivFxBfV]
SoundChannelはSound.play()するたびに個々の音に対応したものが作られるが
>>93ではonOutの中で新しくSoundChannelを作っていて、そっちを操作してて
onOverの中で再生を始めた音の操作ができていなかった



101 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 20:09:10.00 ID:3NoyEflf]
>>88 ありがとうございました!いけました

もうひとつ質問があります
同じくAS、CS3
ステージ上には10個のボタンが配置されており、それぞれ対応する10個のMCがremoveChildで非表示になっている
「1」のボタンを押すと「1」のMCがaddChildされ、最後のフレームまで再生されてそこでstop
その状態で例えば「5」のボタンを押すと「1」のMCがremoveChildされ、「5」のMCがaddChildされ、最後のフレームまで再生され、そこでstop

これの「5」のボタンを押したとき、既にステージ上に存在する「1」のMCをremoveChildさせる方法がわかりません
ステージに表示されてるMCの数を取得し、1以上ならremoveChildさせる変数を
作ればいいのかなと試みたのですが、上手く動きません

102 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 00:00:33.33 ID:r7QLj38L]
AS1.0のサウンドオブジェクトの再生について質問です
var sound_obj = new Sound();
sound_obj.attachSound("bgm");
sound_obj.start(1.2); //1.2秒後から再生
このstart()メソッドの開始時間(1.2)はPCの処理能力によってズレたりしますか?

103 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 01:13:04.20 ID:Tk7Ev53z]
>>101
削除対象を参照するMCを var sakujyoMC:MovieClip とかで定義して
予め sakujyoMC = addChildされたMC と記録しておいて、他のボタンが押された時に
removeChild(sakujyoMC) とすれば?
でも sakujyoMC = null にしないと本当に削除されたことにはならないよ。


>>102
AS1.0でのバッファ読み込みは分からんが、対象音源の大きさも関係すると思う。
※AS3ならバッファ時間を指定できる。



104 名前:Now_loading...774KB [2012/01/16(月) 01:19:58.57 ID:Tk7Ev53z]
チェックボックス(fl.controls.CheckBox)で選択状態を再現出来なく困ってます。
環境はFlashCS4,XP,AS3です。

MC内に4つのチェックボックス(chBox0〜chBox3)があり、それぞれは操作後に選択情報を
オブジェクト(propSet)に記録します。 そして親のMCを一旦消して再度生成してステージに
置いた時に下記の記述で再現しようとしました。

chBox0.selected = propSet.linkF;// propSet.〜は trueまたはfalse
chBox1.selected = propSet.commF;
chBox2.selected = propSet.kasenF;
chBox3.selected = propSet.boldF;

しかし困ったことに、各chBoxのselectedは2つ以上true設定していると1個しか再現できません。
(※まるでラジオボタン状態)
また、chBox0.selected に至っては true 設定していた場合は false で再現され、『マウスでなぞると』
本来のtrue(選択状態)になります。

つまり、●を選択状態とすると ○○●○ か ○●○○ しか再現出来ず、左端のchBox0は
(MouseEvent.ROLL_OVERみたいに)マウスを上に乗せた時に記録した情報の通りに
チェックマークが入ります。

問題点は @複数のチェック状態の再現 AchBox0.selectedとマウスオーバーとの関係
です。 すいませんがアドバイス願います。


105 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 02:45:22.93 ID:CHux3ODh]
その説明じゃイマイチわからんな
>そして親のMCを一旦消して
消したってどういう風に?
フレームを移動させて静的配置のを消したのか 単にremoveChildでリストから削除したのか
わからんけど最初の操作時のインスタンス変数が生きていて再度の生成時に悪さしてるような感じがした

106 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 03:40:12.15 ID:tzj2e9hg]
>>103
ありがとうございます
恥ずかしながら超初心者で
sakujyoMC = addChildされたMC
の部分の書き方が分かりません
色々書いてみても強制変換型に失敗しました、などとエラーが出てしまいます


107 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 04:02:13.66 ID:Tk7Ev53z]
>>105
レス有難うございます。
「インスタンス変数が生きていて」がヒントになり、解決できました。

問題点は、CS4のオーサリングで予め設置しておくとダメみたいで、chBox0〜chBox3は
親が生成される度に

var chBoxN:CheckBox = new CheckBox();
// X,Yの位置指定
addChild(chBoxN);

のようにスクリプトで設置したらOKでした。 ・・・ newするのがポイントかも。

なお、親のMCを消す際にはremoveChildを使っていますが MC = null にしていても不十分なようで
CheckBoxは上記のように毎回初期化する必要があるみたいです。



108 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 04:03:45.94 ID:Tk7Ev53z]
>>106
ヒント: >>88-89



109 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 12:41:55.78 ID:CHux3ODh]
>>106
型変換覚えないとこの先辛いだろw ちなみにキャストよりもas演算子での型変換の方が速いそうだ

var mc:MovieClip = new MovieClip();
mc.name = "abcdefg";
var obj:DisplayObject = mc as DisplayObject;//as演算子による型変換
var obj:DisplayObject = DisplayObject( mc );//キャストによる型変換
//var obj:DisplayObject = new DisplayObject();//エラー DisplayObjectはコンストラクタが無いのでインスタンス化できない
//obj = mc as DisplayObject;
trace("name:"+obj.name );
var sp:Sprite = new Sprite();//コンストラクタがあるクラスならインスタンス化後の型変換可能
sp = mc as Sprite;
trace("name:"+sp.name );
型変換できるかどうかはクラスの継承関係による MovieClipの親の親の親の親にDisplayObjectが
あるので型変換可能 継承してないクラスへの方変換は不可能
MovieClip→Sprite→DisplayObjectContainer→InteractiveObject→DisplayObject→EventDispatcher→Object

110 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 14:04:43.86 ID:xiCkIEfm]
>>106
そもそも、型が違うって状況を理解してないんじゃ?
状況を理解してないから、同じ問題に出くわしても型変換という発想にならない

>>109が親切に書いてくれているけど、それでもよく判らないなら
いったんクラスの概要について、基本的な解説を読んどいたほうがいいよ
継承構造を知らないと、この先何度も同じようなとこで躓くことになる



111 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 16:38:59.80 ID:0glqET1v]
>>110
横レスで補足:
継承ってのは進化というかバージョンアップと解釈できる。つまり、
旧ザグ→量産ザグ→湿地帯用ザク って感じ。

型変換にも関わるけど、同じジオンでもリックドムの動力部分をそのままアッガイに
転用しようとするとエラーになるのと同じ。 変換が必要。



112 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 19:05:25.59 ID:gA6iDCyZ]
下手な例えほど理解を妨げるものは無いな

113 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 20:33:01.54 ID:JQxN1/Ms]
asの方が遅えってどっかで読んだ気がしたんだけどどっちだっけ…

114 名前:Now_loading...774KB [2012/01/17(火) 15:04:04.18 ID:jhCompjR]
FlashCS5,AS3,AIR2.0ですが、パブリッシュすると下のメッセージが出て困ってます。
uproda11.2ch-library.com/331375krZ/11331375.png

AIRの中身は3つのコンポーネント(ボタン,テキストエリア,テキストインプット)で構成され、
ローカルのHTMLファイルを読み込んでテキスト表示し、これを別名で保存するというものです。
※ASファイルは読み込み&開き、及び保存用の2つだけです。

CS5でのプレビューは問題なく出来ますが、AIRとしてパブリッシュしようとすると上のようになります。
試しにテキストエリアを単なるテキストフィールドにしてみても同じでした。

XMLのAIR アプリケーション記述ファイルに間違いがあるという意味のメッセージですが、このXML
自体はCS5から自動生成されるのでどうしようもありません。

考えられる原因は何でしょうか?



115 名前:114 mailto:sage [2012/01/17(火) 15:19:56.67 ID:jhCompjR]
(自己レス)
すいません。(確定ではないのですが)原因が推測出来ました。

ファイル名(AIR名)の先頭に半角の [ を付けていた為だと思われます。
日本語と半角(2バイト+1バイト)文字の混在自体はOKですが、先頭の半角は
ダメのようです。



116 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 21:12:07.84 ID:1+mk6Te8]
>>103
ありがとうございます
AS3の勉強してみます

117 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 22:08:29.30 ID:kHhiCCjy]
AS3でxmlから読み込んだスライドショーを作っています。cs5winxp
画像をすべて読み込んで表示したい画像をalphaで調整しています。

(ボタンを作成しボタンをクリックすると対応する画像を表示することはできました。)
あとはタイマーで画像を自動的に変えたいのですがその部分がうまくいきません。エラーは出ないけど動かない状況です。
はしょってますがソースは
var selectNowPage:Number = 0; // 現在表示されているページを格納する変数

//スライドショーのために用意した変数
var nn:int = 1;

//関数「moveA」を定義
function moveA(e):void {
if( nn == selectNowPage ){
//対応する画像を表示、それ以外を非表示 imageObject_mc.getChildByName("img"+nn).alpha = 1;
selectNowPage = nn;
}else{
imageObject_mc.getChildByName("img"+nn).alpha = 0;
}
//(ここでトレースするとnnの値は表示されます)
//もしnnが写真の総枚数より少ない場合nnに1を加算
//写真の総枚数であれば1にする
nn = (nn < totalCount) ? nn+1 : 1;

}

var tmerA:Timer = new Timer(2000,0);
tmerA.addEventListener(TimerEvent.TIMER, moveA);
//タイマースタート
tmerA.start();

です。どこがおかしいですか。

118 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 22:18:28.62 ID:bag6xnZ4]
>var selectNowPage:Number = 0;
これで、

>var nn:int = 1;
>nn = (nn < totalCount) ? nn+1 : 1;
これでは、(nn == selectNowPage)がtrueになることはないんじゃないか?

119 名前:117 mailto:sage [2012/01/17(火) 23:11:51.44 ID:0gMwQPqH]
>118
すみませんはしょってしまいました。
>var selectNowPage:Number = 0;

>var nn:int = 1;
の間にXMLから画像を読み込んで表示する記述があり、はじめに表示した画像(つまりvar selectNowPage:Number = 1;)になっていました。
ややこしくして申し訳ありません。

120 名前:117 mailto:sage [2012/01/17(火) 23:16:19.46 ID:0gMwQPqH]
var selectNowPage:Number = 1; ではなく
selectNowPage = 1;
です。さらに書き間違えてすみません。



121 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 23:33:16.87 ID:bag6xnZ4]
なるほどね・・・

動作を予想すると、一回目にifの中に入った後にnnは2になるけどselectNowPageは1のままで
次にif文に入るのはnnが一周した時だな
表示したいページをalpha=1に、それ以外をalpha=0にしたいなら、
ループで回してやらないとダメなんじゃね?

122 名前:117 mailto:sage [2012/01/17(火) 23:53:12.33 ID:kHhiCCjy]
ありがとうございます。
ループでやってみます。

123 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 01:43:57.65 ID:vminT5AC]
AS3・CS3winXP
画面にボタンが3つ、押すとそれぞれ別の外部swfファイルを読み込ませたいです
読み込ませたい場所に空のMC、emptyを配置しておき

varloader_obj:Loader=newLoader();
empty.addChild(loader_obj);

btn1.addEventListener(MouseEvent.CLICK,function(event){
varurl:URLRequest=newURLRequest("1.swf");
loader_obj.load(url);
});

btn2.addEventListener(MouseEvent.CLICK,function(event){
varurl:URLRequest=newURLRequest("2.swf");
loader_obj.load(url);
});

btn3.addEventListener(MouseEvent.CLICK,function(event){
varurl:URLRequest=newURLRequest("3.swf");
loader_obj.load(url);
});

このスクリプトだと「定義urlにコンフリクトが存在します」というエラーが出てしまいます
どうすれば解決できるのでしょうか…

124 名前:123 mailto:sage [2012/01/19(木) 01:54:15.09 ID:vminT5AC]
何だか半角スペースが妙な感じに変換されてしまいました…
勿論元のスクリプトには・はついてないです
あともう1つ、読み込んだMCがなぜかレイヤーの一番下で再生されてしまいます
emptyを一番上のレイヤーに置いてみても変わりません
何が悪いのでしょうか

125 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 03:38:49.45 ID:L94+xSMJ]
>>124
通常のWebブラウザから書き込んでるの? 2ch専用ブラウザ(無料)を使ったら?

あと毎回urlを宣言するんじゃなくて。
var loader_obj:Loader = new Loader();
empty.addChild(loader_obj);

// n番目の場合 ボタンがStageにあるとき
this["btn"+n.toString()].addEventListener(MouseEvent.CLICK,
function(event){
loader_obj.load(new URLRequest(n.toString()+".swf"));
}
);

では? これなら同じ様なスクリプトが1個で済む あと、レイヤーの一番下になる原因は推測できん。



126 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 04:05:00.82 ID:O2W//Sbm]
>>123
いい加減な酔っ払いだけど適当に答えてもいいのかな

暇だったからコピペして「・」消してemptyっていうインスタンス名のmcとbtn1〜4作って
作業フォルダに適当なswf置いてそれをURLRequestで指定してやってみたら普通に動いたよ
ASの記述他、一通り見直すしかないんじゃない?
ちなみにコンフリクトが存在しますっていうのはこういうのもあるみたい↓
www.nanlow.com/blog/archives/2009/01/140124.php

ただ、蛇足になるけどこの記述だけだとロードしたswfをremoveやunloadする記述がない
ボタンを押せば押した数だけ同じ動画や画像がloadされて重なって表示される事になる
音声付の動画ならわかりやすいんだけど、音も重なっていくメモリもガンガン食う
その都度、loader_obj.の中身を空にしてからloadしたほうがいいように思う
一番下で再生されるって言うのも言ってる事がよくわからないが
そういう風にすればそういう事もなくなるんじゃない?かな

127 名前:123 mailto:sage [2012/01/19(木) 06:55:14.00 ID:eTox4xg+]
ありがとうございます
CS5.5で同じファイルをひらいたらエラーは出ませんでした
レイヤーの一番下に配置される問題も解決できたのですが今度は別の問題が…
swfファイルの座標指定が効かずとんでもない場所に表示されてしまいます
この場合などんな原因が考えられるでしょうか?
空のムービークリップの位置を動かしても関係ありません

128 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 14:17:06.49 ID:Dm78EKPI]
>>127
結局、ASはなにも変更してないってこと?
エラーは、「同じ名前の変数を複数つくるな!」って意味
少なくとも、それぞれvar url、var url2、var url3とかにすれば
エラーも出ないし、問題なく動作する
まずはそこをクリアするべき

この先を考えれば、>>125>>126のアドバイスに従って、書き換えたほうがいい

129 名前:Now_loading...774KB [2012/01/19(木) 21:11:51.40 ID:QOnzQ8HN]
AS3,XP,AIR2.0

MC(mc0)内部のLoader(loaderObj)にSWF(タイムラインの単純ムービー)を読み込んで表示
させていますが、この再生を停止・再開する方法が分かりません。

※SparkプロジェクトのForcibleLoaderを使ってPlayer8以前のSWFも読み込めるようにしています。

var mc0:MovieClip = 対象オブジェクト as MovieClip; でキャストして出来たmc0でPlayer8
以前のSWFでは trace(mc0.loaderObj.content)は [object AVM1Movie] と表示されswf本体に
アクセスできるのですが、mc0.loaderObj.content.stop() はエラーになります(下記)

Player8以前のSWFでは
 Error #1069: Property stop not found on flash.display.AVM1Movie and there is no default value.

Player9以降(AS3)のSWFでは
 Error #1009: Cannot access a property or method of a null object reference.

どうしたものでしょうか?



130 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 21:53:03.26 ID:uX+s1HDW]
テキトーなレスで申し訳ないが

var mc0:MovieClip = 対象オブジェクト.content as MovieClip;
mc0.stop();
でもだめ?



131 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 23:46:26.59 ID:+5+GyZ+w]
>>130
レス有難うございます。
「対象オブジェクト,対象オブジェクト.content」はtraceすると、[object Loader], [object AVM1Movie]
となって間違いは無いようですが、as MovieClipするとnullになってしまいます。
※AVM1Movie型を持っているが、キャストするとnullになる。


132 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 00:12:06.95 ID:qUxySH46]
だただらと長かったプログラムを
for文使ってすっきりさせてパブリッシュ
出来上がったファイルは元より容量が増えていた
そんなもんなのだろうか

133 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 01:00:30.76 ID:ro6eMvMY]
>>132
よくあるな
モバイルFlashの時はそれで困ってたわ

134 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 01:22:55.90 ID:LTDCjMYr]
>>129
ここみれ ttp://mogmet.blog20.fc2.com/blog-entry-11.html

private function swfComplete(event:Event):void{
this.mc = event.currentTarget.content as MovieClip;//←これで変換されるっぽい
trace( this.mc );
}

135 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 02:02:11.83 ID:ayL74Alu]
>>131
自分の環境では、>>130の方法で動作している
キャストするタイミングが違うとかでないなら、そちら固有の問題
(たとえば、ForcibleLoaderなど)に原因があるのだと思う

136 名前:129&131 mailto:sage [2012/01/20(金) 08:49:58.91 ID:pWZx6SRu]
>>134-135
レスさんきゅう。 対象オブジェクト.content as MovieClip; はやっぱりnullです。

しかし更に検証する、となんと実はForcibleLoaderは適用されていなくて(!)、 実際に使うと
SecurityError: Error #3015 が発生し、
 Loader.loadBytes() is not permitted to load content with executable code.
at flash.display::Loader/_loadBytes()

が出ます。
う〜ん分からん。



137 名前:129&131&136 mailto:sage [2012/01/20(金) 09:57:16.55 ID:pWZx6SRu]
(自己レス)
セキュリティエラーに関しては ttp://d.hatena.ne.jp/ichiro_j/20081120 を元に
ForcibleLoaderのASを修正し回避できました。
しかしやっぱり 対象オブジェクト.content as MovieClip; はnullです。

一応、他の機能は実現しているのでこのまま進めます。


138 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 11:16:20.09 ID:LTDCjMYr]
いよお ウチでもForcibleLoader使って試してみた これは元々libsparkさんトコのじゃねーか
勝手にパッケージ簡略化してはいかんw(参照先のやつ)

ウチでは問題なくMX時代のクソ古いSWFをMovieClipに変換できて stop() gotoAndStop() で制御できたお
同じようにAirでセキュリティエラーが出てその記事の修正当てたら直った
ウチの環境はCS5.5 AS3 通常パブリッシュはFlash Player10.2 AirはAIR2.6だ

まずは無改造でそこのURL>>134のサンプル通りにやってみ
出来ないなら…もうわからんw

139 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 00:50:21.81 ID:5z1wOgRR]
>>133
やっぱりあるんだ、やる気なくすなぁ
forじゃなくてwhileとかを使った方がいいのかな

140 名前:Now_loading...774KB [2012/01/21(土) 01:27:39.90 ID:RDkx9xL3]
環境:AS3,CS4,AIR1.5

凄く単純なところでつまづいています。
dataTというテキストフィールド内の文字列全部をマウスイベントでのsetSelectionで
選択状態にしたいのですが何も選択されません。

private function _onClick(e:MouseEvent) {
trace("長さ= "+dataT.length);
dataT.setSelection(0, dataT.length);
}

traceはちゃんと文字列長を示すので、これで上手くイクはずなのですが・・・
文字列は優に30個を越えているので試験的にdataT.setSelection(0, 30); としても
何も選択されないという不思議な症状です。

明示的にdataT.selectable = true; にしてもダメでした。
このような経験はありますか?




141 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 09:04:08.50 ID:N6chXOoX]
>>139
ループ系は容量増えやすいからあまり変わらないと思う

142 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 09:56:49.31 ID:N+CnCGA4]
AS3です

MP3の音楽の再生を任意の位置で停止して、その停止した時の音を鳴らし続けたいのですが
方法を知ってたら教えてください。よろしくお願いします


143 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 14:22:21.09 ID:z+03vdra]
paraflaで使える文字のサイズが小さくても読みやすいフォントってありますか?
アンチエイリアスがかからないデバイスフォントがドンピシャなんですけど
環境によって使われるフォントが変わる(=デザインが崩れる)と聞いたので・・・
ビットマップフォントって使えないですよね?

144 名前:143 mailto:sage [2012/01/21(土) 14:22:38.47 ID:z+03vdra]
すみません誤爆しました

145 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 15:13:47.79 ID:ut2CQ6AY]
>>142
> その停止した時の音

この部分の意味と、実際に出来ることをもっと具体的に。

実際は、停止した時点で音はないと思うので
おそらくは、停止した瞬間から、そのちょっと前までという短い間の音楽を
ループさせたいということではないかと推測するのだが、どうだろうか?


146 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 17:58:26.91 ID:pk2B3+WL]
>>145
レスありがとう。その通りです
具体的に言うと、「あいうえお」という曲があって「う」の時に停止したらずっと「うーーーー」と音が出て欲しいです

今、音を止めた時のpositionから1フレームだけの再生をループさせてみたのですが
うぇうぇうぇうぇ、という感じになってしまって出来なかったです


147 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 11:17:23.05 ID:ikXf6l8r]
>>142
おもいつきだけどフレームレートを変えてみたらどうでしょうか。

148 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 14:42:31.96 ID:sW95RgOE]
actionscript 2.0を使用しています。

test=Array["mc_1","mc_2","mc_3"];
↑このような配列があります。

配列の中に納めたムービークリップ名を抜き出して、
使いたいと考えています。

//現在作成中のサンプル
test[1].onRelease = function() {
trace("test");
}

↑このままでは、何も反応が起こらない状態です。
どのような記述を行えば良いでしょうか?

149 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 15:12:49.39 ID:6eiFF332]
>>148
配列アクセス演算子

150 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 17:03:32.16 ID:LvqEXknq]
おすすめの無料効果音素材サイトはありますか?
欲しいのは
コントでスリッパで「スパン!」とぶん殴る効果音
(みなさまのおかげですでチェッカーズの歌歌って殴るあの音)
とか




151 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 17:25:51.20 ID:sW95RgOE]
>>149
解決しました!ありがとうございます。

Flash板は5年生の先輩から教えてもらったんですが、
こんな物知りなFlash使いの人達がいる掲示板があったのは初めて知りました。
今後も利用させていただきます。
ありがとうございました!

152 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 22:36:59.79 ID:HUhtOMON]
配列アクセス演算子って何回回答したかね。
まあググれるワードじゃないから仕方ない

153 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 23:03:44.85 ID:nFAGLJEL]
AS3でちょっとした疑問なんだけど
親Sprite
┣MovieClip
┣Sprite
┣・・・

こういうかんじでオブジェクトをaddChildしてる時、
親Spriteだけremoveしちゃえば、子オブジェクトは全部解放されるの?
それとも子オブジェクトそれぞれremoveしないと解放されない?

154 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 00:26:48.67 ID:jwTnhMEo]
解放というのがガベージコレクションという意味ならどちらも表示リスト外れようが他に参照持たれてたらされない

他に参照持たれてなければ親がremoveChildされた時点で子もGC対象になる

155 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 00:50:43.42 ID:SA/v59S7]
>>150
出来れば俺がお前の頭を

156 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 04:06:54.92 ID:R9zntuVO]
>>142
簡単なやり方だと、1つMovieClip作ってその中に、サウンドをストリーミング配置して、切りたい音のポイントごとにラベルで切るのとフラグ用に変数立てて、サウンド停止時に flag=true;みたいにする
んで切ったラベルの最後に if(flag)this.gotoAndPlay(“う“); みたいにすればいけると思う

157 名前:Now_loading...774KB [2012/01/23(月) 08:38:48.65 ID:F9CY73VL]
一つのアプリケーション内で複数のstageを持つことってできますか?

stage上x-y平面で動かしたオブジェクトの座標を取得して
そのオブジェクトの動作を3D表示できるようにしたいです。

3Dライブラリとしてpapervision3Dを利用しようと思っていますが、
3D表示用のstageを確保しなければならないのではと思い上記の質問しました。


158 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 09:17:57.12 ID:75ziPXDc]
>>154
ガベージコレクションでなくその場で即刻解放 というわけにはいかないか

もう一つ質問だけど
mcとかObjectはdelete使えないってのは知ってるが
delete mcとかやってもエラー出ないんだけど、これは特になにも処理されてない ってことでいいのかな

159 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 10:48:17.08 ID:+vchNyJM]
>>157
Stageは1個だけだい >3D表示用のstage ってのはDisplayObjectを継承した描画用クラスなら何でも可じゃないかな
たぶんpapervision3Dで用意されてる

>>158
deleteは参照切るだけ delete mc;実行後に参照するとnullエラーが出る

160 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 11:06:20.93 ID:+vchNyJM]
すまん deleteで削除できるのは「動的に定義されたプロパティだけ」だそうだ
実行後に参照するとnullではなくてundefainedが入ってた
普通はインスタンスだろうが固定プロパティだろうがnull入れればおkなんだ
deleteは単にMX時代からの遺物だね

>その場で即刻解放
しないね



161 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 14:57:39.02 ID:75ziPXDc]
>>160
なるほどサンクス

deleteでエラー出なくて、null入れるとエラー出るといったんだけど、なんだか
MC内で delete thisと入れた場合はエラー出ず
親Sprite上で delete mcとやるとエラーが出る
MC内で this=nullとやるとエラー出て
親Sprite上でmc=nullとやるとエラー出ない

という感じになった。
わかりそうでよくわからんが、この辺は適当にやるよ。

162 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 18:06:23.85 ID:jwTnhMEo]
上記の現象はMCはダイナミッククラスってのが関係してんじゃね

下記のは自分をnullにはできないってことで

基本的に参照切るならnullを使う
即時削除(明示的なGC)はFPでは基本的にはできない(デバッグプレイヤーなら可、裏技あり)
AIRなら出来たかな
ただしBitmapDataのみ即時解放ができる

163 名前:142 mailto:sage [2012/01/23(月) 18:57:55.37 ID:kekHgWc7]
>>147>>156
ありがとう。やってみたのですが、どうも「プツ」っという音が入ったりして上手くいかなかったです
なので諦めました。ごめん

164 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 20:30:56.57 ID:SA/v59S7]
早期に諦めるというのも一つのテクニックだな。

165 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 21:24:10.40 ID:75ziPXDc]
>>162
詳しくサンクス

166 名前:Now_loading...774KB [2012/01/24(火) 00:32:00.89 ID:t+zu2/RW]
spriteのrotationXorYorZを変化させると
spriteのクオリティが下がってすこしぼやけた感じになってしまうのですが
これは仕方がないのでしょうか

167 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 02:31:21.06 ID:VCNBilr4]
>>166
それはクオリティが下がってるんじゃなくてベクタからラスタに変換されてるの。
最初から大きいベクタを用意して操作すれば、ある程度は軽減される。

168 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 12:22:35.94 ID:/jTi9mue]
>>159
ありがとうございます!3D表示できました。

追加質問なのですが、>>157の状態で各オブジェクト視点のカメラ設定ってできますか?



169 名前:Now_loading...774KB [2012/01/24(火) 14:03:20.55 ID:JFNBQGyk]
CS4(AS3,Player10.0) WinXP
extends MovieClip でMC化したCheckBox(チェックボックス)をメインのタイムラインの
2フレ目で出したいのですが下記エラーが出てしまいます。

 TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
   at fl.controls::CheckBox/drawLayout()
   at fl.controls::LabelButton/draw()
   at fl.core::UIComponent/callLaterDispatcher()


流れとしては、1フレ目で外部SWFを5秒間実行した後に、2フレ目でフレームアクションに
var chBox:MovieClip = new CheckBox_01(パラメーター);
addChild(chBox);

と書いています。 クラスCheckBox_01の中身を抜粋すると
var chBox:CheckBox = new CheckBox();

public function CheckBox_01(引数) {

// 引数をパラメーターとして処理

chBox.label = "選択・非選択";
chBox.addEventListener(Event.CHANGE, showData);
addChild(chBox);// これを無効化するとエラーは出ませんが・・・ (泣)
}

private function showData(event:Event):void {
// 選択時の処理
}

単純にCheckBoxをステージにaddChildするのとほぼ近い記述なのですがエラーがでます。
どうしたものでしょうか?

170 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:06:47.31 ID:/J1+/BR8]
できないと3Dの意味ないだろ オブジェクトの位置と見たい方向をカメラにブッ込めば可能のはず
papervision3Dのヘルプ見れ 日本語のがあったはず



171 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:11:33.68 ID:/J1+/BR8]
>>169
とりあえずデバッグモードで走らせてエラー出た行番号のコードを確認
変数が複数あるなら「デバッグパネルの変数」のとこ見てnullの変数を確認
なぜnullになるのかわからなかったらもう1回質問してくれ

172 名前:169 mailto:sage [2012/01/24(火) 20:29:22.65 ID:aJ0wywHx]
>>171
レス有難うございます。 原因が分かりそうです。
通常、CS4では使用するコンポーネントを一旦ステージに置いてライブラリ化(ライブラリウインドウ内
に表示)して使用するのですが、このライブラリ化したものを一旦削除して再度ライブラリ化するとOK
でしてた(つまり更新しました)。

CS4をメインで使っていますが、このところCS5も併用していたので、もしかしたらですがCS5の
コンポーネントを何らかの形で(意図せずコピペしたりして)利用していたのが原因かも知れません。
(不適切なfl.controls.ComboBoxを使っていた??)



173 名前:Now_loading...774KB [2012/01/24(火) 23:19:17.67 ID:8KydtSY4]
環境)WinXP,AIR1.5,CS4

特にAIRとかCSシリーズに限定した話ではないのですが、EventDispatcherを継承した
クラスをインスタンス化して内部の記述が実行されたことを感知するEventクラスの
パブリック定数には何がありますか?

つまり、public class Test01 extends EventDispatcher として、このコンストラクタが実行
されたとします。 ここで予めコンストラクタ中に適切なイベント Event.XXYY を考慮して
addEventListener(Event.XXYY, doneFunc); を含めておいて、リスナー関数
function doneFunc(evt:Event):void {
try {
// 処理内容
trace("実行されますた");
removeEventListener(Event.XXYY, doneFunc,);
} catch (errorEvt:Error) {
trace(errorEvt.message);
}
}

によりEventDispatcherを継承したクラスTest01の実行終了を他のインスタンスに通知したいです。
※ここで求める処理はXMLを読み込んで解析することです。

試しに、Event.XXYYをEvent.ACTIVATE,Event.COMPLETE にしましたがリスナー関数は実行
されませんでした。


174 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 23:43:28.12 ID:/J1+/BR8]
>内部の記述が実行されたことを感知する
うーんイマイチ意味がわからんな インスタンスに通知ってどーゆー事だ…
フラグ用意してゲッターで他のクラスに渡すってのとは違うのか
ていうかそのカスタムイベントはちゃんと動いてるのかい
ここ参考にしてみ
ttp://feb19.jp/blog/archives/000115.php

175 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:41:09.12 ID:1fL8G1rX]
ああもしかして カスタムイベントクラスのコンストラクタの実行時で反応が無いって事かな?
dispatchEventはコンストラクタじゃイベントを送信しないぽい カスタムイベントクラス内の何かのメソッドで
条件を満たしたら以下を実行で インスタンス.addEventListener(Event.XXYY, doneFunc);が反応するお

dispatchEvent( new Event( Test01.XXYY ) );//イベントをイベントフローに送出

176 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:45:46.22 ID:1fL8G1rX]
ああごめん インスタンス側の記述はこうだな
var e:Test01 = new Test01();
e.addEventListener( Test01.XXYY, doneFunc );

177 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:04:12.14 ID:n7jyUYkI]
AS3で質問。
●class Super
┗public var num
●class Sub extends Super
●Sprite
┗var sub = new Sub();

とやった時、sub.numと参照できないんだが・・・
Subクラスの中にpublic var n = super.numとかやれば
sub.nって感じで参照できるっぽいが、なんか気持ち悪い。
sub.numを使えるようにするにはどうすればいいだろう?

178 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:20:42.76 ID:n7jyUYkI]
ああ getterとかもなるべくなら使いたくないんだけど
そういうのしか手はないんだろうか

179 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 23:55:30.19 ID:Qe34xAUd]
>>177
うーん?普通に出来てるけど
public class Superとかpublic class Subにしてみるとか?


180 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 00:11:43.66 ID:uPkFU8/W]
子SWFロード方式において、子SWFをアンロードする時に、参照が残っていると
ガーベジコレクションが行われないということは、色々なWEBページを見て理解しましたが、
以下の場合はどうなるのでしょうか?

子SWFが以下だったとします。
public class Child extends MovieClip {
var obj:Object;
var array:Array;

public function Child (){
obj = new Object();
array = new Array(2);
}
}

子SWFをロードして、以下でアンロードした時に、
子SWFのobjや、arrayはガーベジコレクションの対象になるのでしょうか?

親SWFのアンロード時の処理
loader.unloadAndStop();
removeChild(loader);
loader = null;

unloadAndStop()を使って子SWFをアンロードする時に、
リスナーを削除する以外に、何をしないといけないのでしょうか?
上記のような、インスタンス変数にオブジェクトを格納している場合も、
明示的にnullをセットしておかないと、子SWFは解放されないのでしょうか?



181 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 02:13:54.69 ID:17ONX9mB]
loaderにnullをいれてんのは参照切るためだよ
loaderに別のインスタンス入れてももとのオブジェクトの参照は切れるよ

182 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 08:28:54.60 ID:sARG6wIg]
>>179
え できるのか・・・ なんか忘れてることがあるのかな
177では省いてたけどclassもpublicにしてるし・・・

183 名前:174 mailto:sage [2012/01/26(木) 16:12:47.63 ID:V23ba8rS]
>>174-176
レス有難うございます。 目的の流れは、
EventDispatcherを継承したカスタムクラス(XML.as)でXMLを読み込んで解析 
→ 「完了しました」の情報を別クラス(AB.as)(インスタンス)に通知

としています。 XML解析はXML.asのコンストラクタ内で終わらせてこれを通知
できれば良いのでコンストラクタ内のaddEventListener(Event.XXYY, doneFunc);
には拘っていません。 
※処理完了を示すEvent.XXYYを探していましたので

ということで、dispatchEventを使ってご紹介頂いたリンクや
ttp://d.hatena.ne.jp/kamip/20091017/1255804628 のコードでとりあえず通知させる
仕組みは出来ました。

色々有難うございました。



184 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 16:27:59.24 ID:1tKvjhIF]
>>182
出来ないわけ無いから、最低限のソース全部貼った方が早いと思うが。

185 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 19:00:55.99 ID:Beh08/YE]
あの〜、
Stage.scaleMode = "noScale"; でMCサイズが拡大縮小しないようにしてるのですが
ブラウザのウィンドウサイズが一定の大きさより小さくなった場合に
MCを縮小するってことはできるのでしょうか?

186 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 22:59:27.47 ID:sARG6wIg]
>>184
改めて試したんだができるようになってたわ・・・
なんかすまんかった
なんで前はエラーでたんだろう・・・

187 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 00:07:51.02 ID:AY8qNyZU]
>>181
回答ありがとうございました。

もう一ついいですか?

1.親でaddChild()して子を追加。
2.子でaddChild()して適当な描画オブジェクトを追加。

こういった場合に、親の参照を切れば、メモリリークの心配はないのでしょうか?
それとも、親にぶら下がっている全てのオブジェクトを調べて、
全部removeChild()しないとメモリリークになるのでしょうか?

188 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 01:54:36.84 ID:rWDTRw7N]
>>187
>>154で言ったとおり親の参照が表示オブジェクトツリーから切れても他に持たれていたら親が残る
よってその子も残る
親が他から参照なければ子も表示オブジェクトツリーからの参照は切れる
でも子が他から参照持たれてたら子は残る
その場合たぶん子のparentには親が入ったままだから親も残るかもね

質問の答えとしては
親が子の参照を持ち、子が親の参照を持つだけの状態で表示オブジェクトツリー以外の参照がない場合、親をremoveすれば子もGC対象になるよ
他から参照なければね

189 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 02:28:45.25 ID:jzyOmjeZ]
>> 188
回答ありがとうございました。
大変勉強になります。
今、作っているコンテンツが、
どうもリークしているようで、
調査に苦戦してます。

回答いただいた内容を参考に、引き続き
調査してみます。


190 名前:Now_loading...774KB [2012/01/27(金) 08:46:59.84 ID:xzIvTLon]
FlashProCS5 ver.110を使用(CS4からのアップグレード版)

AS自体の質問ではないのですが、CS5のタイムライン記述(フレームスクリプト)での語彙
検索機能(文字列検索機能)で質問です。

CS5のアクションパネル(フレームスクリプトのパネル)に普通にコードを書いて、普通にコード内の
文字列を検索しよいうと思い、パネル上部の検索アイコン(「ターゲットパス挿入」の左隣の虫眼鏡マーク)
を押して『置換して検索』ウインドウを出しました。

ここまではCS4以前と変らないのですが、検索文字欄に文字列を入れて『検索』ボタンを押すと
同一タイムライン記述内に他に同じ文字列があるにも関わらず何も検索されず、更には開いていた
タイムラインのスクリプト欄も閉じてしまいます。
(質問したらイジけて引き篭ったような状態。 ASファイルだと無問題)

MX2004からCS4まで使っていたのですが、こんな酷い検索機能は初めてで悶絶しそうです。
(検索なんて基本機能中の基本なのに・・・)

そこで質問です。
Q1) このアホ検索機能はCS5のデフォですか?
Q2) CS5でデフォならCS5.5では改善されてますか?

すいません、宜しくお願い致します。





191 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:00:49.89 ID:shQ/bgLM]
そんな事ねえだろうw
うちはCS5.5だが当然無い CS5でも大丈夫だと思う
再インスコしてもダメならAbodeに報告するしかないな

192 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:10:00.92 ID:shQ/bgLM]
だいたい超基本的な質問スレが無いのがいかん
次スレ立たないうちから埋めやがってもうアフォかと…

というわけで立てといたお
ttp://toro.2ch.net/test/read.cgi/swf/1327630120/l50

193 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:23:42.26 ID:SIdMewnp]
CS5で試してみたけど普通に検索できたよ。

194 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:27:27.16 ID:2IjPgFvU]
俺もまだCS5だけど、OK

195 名前:190 mailto:sage [2012/01/27(金) 13:59:10.92 ID:xzIvTLon]
>>191-194
再インストールしましたけど症状は同じでした。
因みにOSはWindowsXP-Pro(SP3)でメモリー3.3GB,CPU:Core2DuoのE6550です

ググりましたが同じような症状の報告が無いので、もうちょっと調べてからAdobeに聞きます。
最悪、CS5.5を入れるかも知れませんが・・・


>>192
スレ立て有難うございます。
超基本的な質問スレが無かったのでここで聞きました。



196 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 21:41:22.45 ID:0iPwdIwk]
AS3で数日ハマっているので質問させてください。

やりたいことは親swfから外部の子swfを読み込んで、
その子swfが外部の.pngを読み込む。それを親swfで表示する。
なのですが、,pngが表示されません。
子swfのシーンに乗ってるものは親swfで表示してます。
子単体では正常に表示してます。

もしかして子swfから外部画像を読み込んだものを
親swfで表示するのはそもそもできないのですか?

197 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 23:50:13.67 ID:Sg/LpXuS]
>>196
要は子が参照しているPNGを親で見るってこと?
ならば、子のPNG変数(URL)を親に渡すってことで、 SWF 親 子 変数 アクセス 
でググると吉かも。

注意点は、親子SWFが同じAS3なら良いけど、万が一、子がAS2の場合は変数に
アクセスできない。 その場合はライブラリ「ForcibleLoader」とかを使う。


198 名前:Now_loading...774KB mailto:sage [2012/01/28(土) 00:04:45.23 ID:BelXmZ6i]
>>196
普通に表示できるよ
ロードや表示に関するASやflaを晒さないと原因はわからんが
どこかで間違ってるか何かを勘違いしてるのだと思う

199 名前:196 mailto:sage [2012/01/29(日) 13:46:14.22 ID:TwlN1FpD]
>>197,198
レスを参考に試行錯誤してみます。
どうしもだめな場合はダメASを披露しにきますw
ありがとうござました。

200 名前:196 mailto:sage [2012/01/29(日) 17:52:14.17 ID:TwlN1FpD]
解消できなかったのでご教授お願いしにきました。>>196です。
//親swf1フレーム目
var mc:MovieClip = new MovieClip();
var req :URLRequest = new URLRequest("01/01.swf");
var loader:Loader = new Loader();
loader.load(req);
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete );
function onLoadComplete( e:Event ) {
mc = loader.content as MovieClip;
container.addChild(mc);
mc.gotoAndStop(1);
}
//子swf1フレーム目
var ld:Loader = new Loader();
var url:URLRequest = new URLRequest("pic/01.png");
var context :LoaderContext = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
ld.load(url,context);
ld.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete );
function onLoadComplete( e:Event ) {
addChild(ld);
}
//子swf2フレーム目(以降02.pngの部分が3フレーム目は03とフレームと同番)
url = new URLRequest("pic/02.png");
ld = new Loader();
context.applicationDomain = ApplicationDomain.currentDomain;
ld.load(url,context);
ld.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);

環境:FLASHCS5.5 Win7 AS3.0
ディレクトリ階層:ルートフォルダ内に親swfと01フォルダ、
01フォルダ内に子swfの01.swfとpicフォルダ、picフォルダ内に01.png〜



201 名前:196 mailto:sage [2012/01/29(日) 17:58:22.60 ID:TwlN1FpD]
200に追記
container.addChild(mc);のcontainer定義はここの投稿時に
行数警告でその行を削除しましたが、
var container:Sprite = new Sprite();
addChilde(container);
と記述してあります。

202 名前:Now_loading...774KB mailto:sage [2012/01/29(日) 18:29:03.04 ID:A9bbXgrx]
そのコード試そうかと思ったがメンドイので止めたw
そもそも何でそんなヘンテコな構造なんだ
DisplayObjectContainer使って コンテナ用意してその中に
pic01, pic02 …とSpriteかMovieClipのインスタンスを追加していき
そのインスタンス内にロードして表示、非表示等の操作をすれば楽だし改造し易いお

>var req :URLRequest = new URLRequest("01/01.swf");
フォルダ名って数字のみでおkだったっけ? ↑

203 名前:196 mailto:sage [2012/01/29(日) 21:38:15.40 ID:TwlN1FpD]
>>202
ディレクトリの数字のみの件は、子swfのシーンは表示しているのでリンクはOKなようです。
ためしに01からobjとフォルダ名を変えてみましたが結果は同じでした。

外部に画像を出しておくのが仕様で、子swfを頭から連続再生させたり途中から再生させた
かったので各フレームに読み込んで後は親が子swfをプレイすればよいかと考えたのですが
構造をかえてみます。ありがとうございました。

204 名前:Now_loading...774KB mailto:sage [2012/01/29(日) 22:28:24.19 ID:A9bbXgrx]
>頭から連続再生
ってまさかアニメ? それならアニメ詰まったのを1個読み込むのが普通だろ
なんで画像を1枚づつ読み込むんだ まあ…がんがれ

205 名前:Now_loading...774KB [2012/01/30(月) 21:29:37.73 ID:lCMdSn8T]
質問失礼します。
Adobe Flash Professional CS5 で開発をしているのですが、
traceで出力パネルに出力した文章をコピー&ペーストして.txtとして保存すると
テキストの形式がShift-JISで保存されます。

そこで、出力パネルに出力される文字コードをUTF-8にしたいのですが、
traceで出力する際に文字コードの指定などはできないでしょうか?

206 名前:Now_loading...774KB mailto:sage [2012/01/30(月) 23:35:37.41 ID:InGhw/bk]
>>205
保存するときにUTF-8にすればいいんじゃない?

207 名前:Now_loading...774KB mailto:sage [2012/01/31(火) 14:19:57.17 ID:yM7uuYbI]
>>205

テキスト貼付けるエディタのデフォの設定がShift-JISなんだろ?
エディタを何とかしろ

208 名前:Now_loading...774KB [2012/01/31(火) 16:52:45.97 ID:2xuTHBYb]
スレ違いだったら申し訳ありませんが、質問です。
ActionScriptにはJAVAのヒープ領域のようなメモリ領域はあるのでしょうか?
あるなら、どのくらいのサイズが確保されるものなのでしょうか?

209 名前:Now_loading...774KB mailto:sage [2012/01/31(火) 19:06:08.06 ID:biaD4WdC]
help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/system/System.html
このへんかな。当たり前だけど処理系ごとに変わるけどね。

210 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 08:10:32.93 ID:TjsnZczT]
Chrome以外で自分のSwf見ると挙動がおかしい・・・
Operaだとクリックした時にしかマウスポインタが手に変化しないし、
IEだとFLASHのバナーしか表示されないし・・・
このへん詳しいこと書いてるサイトとかないかな?



211 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 09:44:02.58 ID:ewFRfMTf]
FlashはIE基準じゃなかったかな ちょっと前はクロームでキーボード入力受け付けないとかあったけど…
IEで挙動がおかしいのは直さないとダメだな ちなみにIEのバージョンとかは?
SafariはAppleなのでFlashの挙動が変なのは諦めるしかない

212 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 14:24:53.02 ID:TjsnZczT]
Chromeはキーボードも受け付けてるし一番問題ないな
IEバージョンは9だったけど、スクリプトだけ色々いじってたらとりあえずIEは表示されるようになったよ・・・原因わからない
Safariは持ってないし確認しようないから置いておいてる
せめてOperaのボタンのカーソルくらいは直したい・・・
今はSprite継承の自作クラスの中でthis.buttonMode=trueでやってるけど、これが原因だろうか

あとついでに質問だけど、今の状態だとFLASHをドラッグしてしまえるんだけど(テキストドラッグしたみたいに青くなる)
これをドラッグさせないようにするのはHTMLとかjavascriptの範疇?

213 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 14:48:17.42 ID:ewFRfMTf]
実際のインスタンス(のターゲット変数).buttonMode=true;にしてる?

ドラッグして青くなって選択状態になるのはしょうがないお

214 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 15:00:50.68 ID:TjsnZczT]
してない、が外から内からもbuttonMode=trueとしてみたけど変化なかった。

問題のSpriteは
MySpriteA ←this.buttonMode=true
┗継承━MySpriteB
        ┣mc1(適当な絵描いてるMC)
        ┣mc2(〃)
みたいにやってる。
SpriteAがボタンの機能持ってて
SpriteBは、例えばmc1がaddChildされてる時に、mc2を表示したくなったら
関数呼び出すとmc1をremoveしてmc2をaddする、みたいにできてる。

215 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 16:40:09.87 ID:ewFRfMTf]
mc1をaddChildする時に mc1.buttonMode=true;
mc2をaddChildする時に mc2.buttonMode=true;

これでだめならもうわからん Operaの方が対応してないぽい

216 名前:Now_loading...774KB [2012/02/02(木) 20:13:16.06 ID:4HNnzc9t]
AS3というかASの基本的な質問です。

ある配列 arr0 に別の配列 arr1 を丸ごと追加するにはどうしたら良いでしょうか?
arr0.push(arr1) だと arr1 が可変長引数扱いされて arr0 の長さが1個しか増加しません。

ググりましたが、要素単位で追加する説明はありましたが丸ごと追加の説明は
見つかりませんでした。



217 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 20:34:10.59 ID:eJFDLw3v]
help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/Array.html#concat()
それは圧倒的にググりが足りないな
リファレンスくらいはお気に入りにいれときなさい

218 名前:216 mailto:sage [2012/02/02(木) 21:17:57.35 ID:RCR9XpAS]
>>217
早速さんきゅう。 でも、できません。

trace("Arr0= "+Arr0.length);// 30
Arr0.concat(Arr1);// 配列の追加 10個
trace(" Arr0= "+Arr0.length);// 30

長さが変化しないのですが・・・


219 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 21:19:38.74 ID:eJFDLw3v]
>>218
リファレンスを読み直しましょう
ちゃんと例のとおりにつかっていますか?

220 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 21:54:28.42 ID:TjsnZczT]
>>215
ちょっとやってみるわ



221 名前:216 mailto:sage [2012/02/02(木) 21:56:11.78 ID:KAFsu2jP]
>>219
すいません。。。 左辺が必要でしたね。



222 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 22:37:59.10 ID:eJFDLw3v]
>>221
そうそう。そういうパターン実はいくつかあるから注意だね
逆にそういうパターンにしてほしいのに複製作られずにいじられちゃったりするパターンもあったり

223 名前:Now_loading...774KB [2012/02/03(金) 06:20:56.65 ID:i7tdhhgt]
TextAreaへのTextFormatによる特定区間の文字の色付け(青色)で困っています。
AS3,AIR1.5,WinXP(FlashCS4)

TextArea(tArea)内の文字列を var str0:String = tArea.text;
テキストフィールドを var tFd:TextField = tArea.textField; として

var tfm:TextFormat = new TextFormat(); tfm.color = 0x0000FF;
tFd.setTextFormat(tfm, po0, po0+6);// フォーマットの適用 po0は任意の位置

としても何も変化がなく、po0を変数とせずに tFd.setTextFormat(tfm, 5, 11); としても
同じでした。 テキストフィールドはtFdで参照が取れているのですが色が変りません。

TextAreaのテキストフォーマットは tArea.setStyle("textFormat", tfm) とかで
出来ますが、これだと全文が青色になってしまいます。

どうすべきでしょうか?


224 名前:223 mailto:sage [2012/02/03(金) 06:26:57.42 ID:i7tdhhgt]
(上の追記)
tFd.getTextFormat(5, 11)で調べると確かに [object TextFormat] と出て、
テキストフォーマットが設定されてはいるようですが・・・


225 名前:Now_loading...774KB mailto:sage [2012/02/03(金) 07:21:02.10 ID:LZoKz3+2]
とりあえずこれは抑えてあるよね
flabaka.com/blog/?p=535

TextAreaでなく最初からTextField使う場合は意図したとおりに適用されてる?

226 名前:220 mailto:sage [2012/02/03(金) 09:50:16.05 ID:0qxNACgm]
>>215
やってみたんだができなかった・・・
普通のムービークリップ.buttonMode=trueもやってみたけど、
Operaだとクリックして動かさない間しかマウス変化しない・・・

それでFlashProでテスト用のSWF作ってみたが、こっちではちゃんとできてた。
FlashBuilderで作ったのが悪いんだろうか・・・

227 名前:223 mailto:sage [2012/02/03(金) 13:46:33.71 ID:81rqqVrX]
>>225
どうも。 TextFieldに文字列を流し込んだ後にsetTextFormatを使用してます。
ちなみに、TextAreaでは文字列が内部に存在しなくても
var tArea_tfm:TextFormat = new TextFormat(); tArea.setStyle("textFormat", tArea_tfm);
で文字サイズなどの変更が可能です。

またvar tFd:TextField = tArea.textField;として
tFd.setTextFormat(tfm, 5, 11); で trace(tFd.getTextFormat(5, 11).color);
で文字RGB色を取得すると、ちゃんと青の255が出ます。

つまり、テキストフォーマットは設定されているものの、反映されない状態です。
というか、
「TextAreaでなく最初からTextField使う場合は意図したとおりに適用されてる?」
をもう少し詳しく解説願います。




228 名前:Now_loading...774KB mailto:sage [2012/02/03(金) 13:54:22.72 ID:LZoKz3+2]
TxtArea(コンポーネント?)を使わずに単にTextFieldを表示させてる時に意図した通りの見た目になってるか、だよ
問題がTextAreaなのかTextFieldなのか切り分けるの

229 名前:223&227 mailto:sage [2012/02/03(金) 15:43:48.90 ID:81rqqVrX]
>>228
さんくす。
TextFieldのみを使った場合、上手くいきました。 TxtAreaは文字単位の色付けといった
細かいことには不向きなのかも知れません。


230 名前:Now_loading...774KB [2012/02/03(金) 21:30:52.09 ID:mFRFMtJq]
初心者すぎる質問です。すいません。
最初にステージに50個インスタンスを配置して
Aボタンを押すと
ステージにおいてある50個のインスタンスを全て非表示にして、
その中の1だけ表示(表示したいインスタンスをaとする)、
Bボタンを押すと同じように
ステージにおいてある50個のインスタンスを全て非表示にして、
その中の1だけ表示(表示したいインスタンスをbとする)
Cボタンを押すと‥‥というような
スプリクトを作りたいのですがうまくいきません。

50個のインスタンスをまとめてシンボル化して、
まとめたインスタンスを非表示にして、その中の子インスタンスを1つだけ表示しよう
としてもダメでした。
adobe FLASH CS5.5を使用しています。



231 名前:Now_loading...774KB mailto:sage [2012/02/03(金) 22:01:58.40 ID:TRSwm7Wa]
>>230
50個のインスタンスを配列(Arr)の要素に格納して
for each (var element:Object in Arr) {
element.visible = false;// 一旦全部非表示に
}
Arr[n].visible = true;// 1個だけ表示

でもダメってこと? これならAS2でも動く筈。



232 名前:230 [2012/02/04(土) 00:36:03.84 ID:on1pbUkS]
まだまだ勉強不足でArrすらわかりません…。
ネットで調べてみたけど難しい。勉強せねば。

例えばインスタンス名がそれぞれA.B.Cという3つのムービークリップを作った場合、どう要素を格納して、どう表示 非表示の記述をすればいいですか?
アクションスプリクト3.0を使用しています。

ちなみに最終的にはムービークリップが300個くらい(swfに書き出すと約180kb)になるのですが、ホームページにのせた場合重くなるのか心配です。スクリプトは前述のような動作です。

233 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 01:30:11.73 ID:KoYGdfo6]
>>232
簡単なサンプルが多く載ってる本を2,3冊買って色々イジりながら試すのが近道。

今回の例では
var arr:Array = new Array();// 配列の宣言 

arr.push(A);// 配列に格納
arr.push(B);
arr.push(C);

for each (var element:Object in arr) {
element.visible = false;// 一旦全部非表示に
}

arr[1].visible = true;// 0〜2の1だけ表示

SWFのサイズと重さはあまり関係無いよ。 あくまでもアルゴリズム次第。
同年代の古時計でもメンテナンスや内部機構によって滑らかに動くかどうかが変るのと
同様のこと。

なお、AS3ならメモリー使用量は下記で簡単に参照できる。
var mem:uint = System.totalMemory;

先ずは、変数と型の関係を理解しませう。


234 名前:Now_loading...774KB [2012/02/04(土) 12:07:04.30 ID:XPBxIAgs]
AS3,CS4でAIR1.5かPlayer10.0

クラス内のメンバ変数一覧を取得する方法を探しています。
Javaの似たような質問例としては、ttp://oshiete.goo.ne.jp/qa/6017031.html がありますが、
メンバ変数を配列で格納し、文字列出力でずらっと見たいです。

Javaでは「リフレクションAPI」なるものが存在していますが(下記)、ググりましたがAS3には
無い様です。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7824&forum=12



235 名前:Now_loading...774KB [2012/02/04(土) 14:08:20.86 ID:xlKx4hNr]
>>233
ありがとうございます!
本を買っていろいろ勉強してみるつもりです。
ちなみに、ボタンの上にムービークリップやテキストがある場合
下のボタンを触れるように出来るのでしょうか?
それとvar mem:uint = System.totalMemory; の使い方よく分かりません…。


236 名前:233 mailto:sage [2012/02/04(土) 14:31:10.25 ID:TQq7Q4sJ]
>>235
ボタンの上にムービークリップやテキストがある場合
→ 自分で試した範囲だと無理。 ボタン操作したい場合は、swapChildren(A, B)で入れ替える。


totalMemoryの一番簡単な使用例(フレームアクション記述)
// 適当にボタン(btn)を作る
var mem:uint;// 宣言
btn.buttonMode = true;
btn.addEventListener(MouseEvent.CLICK, onClick);
function onClick(evt:MouseEvent) {
mem = System.totalMemory;
trace("使用メモリ= "+mem);
}

参考:
ttp://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/system/System.html#totalMemory


237 名前:Now_loading...774KB [2012/02/04(土) 15:29:22.28 ID:on1pbUkS]
>>236
試しに今作っているFLASHのボタンの1つに totalMemoryを記述してみました、クリックするとムービークリップを表示するボタンです。
出力に49049600と出ました。ちなみにそれを非表示にするボタンは51654656でした。
単位はバイト?これはどのくらいを意味している?
表示中でも表示するボタンを押すとメモリーがかかる、
それと非表示ボタンのほうがメモリーが高い、頭の中が混乱してきました…。

238 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 15:37:22.13 ID:2FY7XTQz]
表示時は表示インスタンスがグラフィックRAMに記憶され
非表示時は全部(のデータ)が通常メモリに記憶だからじゃね?

239 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 16:32:48.98 ID:sCENL8qA]
そもそもGCあんだから瞬間的なメモリみても意味が無い
気にすんな

240 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 17:46:22.24 ID:fXuACLII]
>>236
上にテキストやMCがあっても、それらのmouseEnabldがfalseであれば
下のボタンを操作できるよ



241 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 18:48:52.87 ID:yUwZ/lYS]
>>237 単位はバイト?これはどのくらいを意味している?

参考リンク嫁



>>239
デバッグ版プレーヤーなら gc()があるけど、GCって(基本)気まぐれなんでしょ?
しかもオブジェクトが無参照になってnullにならないとダメとか。


242 名前:Now_loading...774KB [2012/02/04(土) 18:54:17.28 ID:on1pbUkS]
>>240
mouseEnabldやってみたらできました!
233さんで教わったばっかりの配列(Arr)も使用してみると
var arr:Array=new Array();
arr.push(a);
arr.push(b);

for each(var element:Object in arr){
element.mouseEnabled = false;
element.mouseChildren = false;
}
みたいなこともできるのですね!

243 名前:Now_loading...774KB mailto:sage [2012/02/05(日) 04:42:50.58 ID:MzMOl7lj]
AS1.0の質問です
Stage.scaleMode = "showAll";
createEmptyMovieClip("stage_mask",12345);
with(stage_mask){
lineStyle();
beginFill(0,100);
moveTo(0,0);
lineTo(Stage.width,0);
lineTo(Stage.width,Stage.height);
lineTo(0,Stage.height);
lineTo(0,0);
endFill();
}
_root.setMask(stage_mask);
上のソースはFlashの外側(はみだし部分)を隠すスクリプトなんですが
他のMCや画像はマスクで隠しつつ一部のMCだけ隠さずに表示することはできますか?
隠したくないMCの深度をstage_maskの深度12345より大きくしてみたんですがダメでした

244 名前:Now_loading...774KB mailto:sage [2012/02/05(日) 11:45:17.51 ID:q4VvPX4X]
_rootにマスクするのやめたら?

245 名前:Now_loading...774KB mailto:sage [2012/02/06(月) 11:11:35.69 ID:WvTafXft]
>>244
できました!
ありがとうございます

246 名前:Now_loading...774KB mailto:sage [2012/02/07(火) 00:55:39.75 ID:R12olOWB]
CS5を使っております。

タイムライン上に画像や適当なコンポーネントを配置した
SWFをChild.swfとします。

Child.swfを適当な親SWFからロード→アンロードしたとき、
アンロード時には、タイムライン上の画像等は勝手に解放されるのでしょうか?

それとも、何か後処理しないとメモリリークになってしまうのでしょうか?


247 名前:Now_loading...774KB mailto:sage [2012/02/07(火) 04:24:45.06 ID:5GJD0ZSB]
>>246
Playerのバージョンによるけど、LoaderをaddChildして子SWFとしたとして、
・Loaderのイベントリスナーはremoveする
・Loaderはnullに

基本、無参照は無関心扱いされてGCされ易くなる。

※FlashPlayer11では新GC機能あり
地味すぎて伝わらないFlash Player 11の新機能
ttp://adclounge.jp/adobe-max-2011/new-small-features-in-flash-player-11/


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

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みたいに添字で書くことなんか普通のことなんだけど、おかしい?

364 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 21:56:18.99 ID:3hHo2Jqu]
>>363
添字が基本なことに突っ込んでるんじゃないよ
pushで使わざるを得ない時に時にVectorを使うのはアホっていってるのに対して言ってるの

それから型決定って型が決定してることによるアクセス速度の向上のこと言ってるのよ、どうでもよくないだろ

矛盾してないよ
出し(pop)入れ(push)するときはArrayより遅いかもしれないけど、readする時は確実に速いので使い方如何では一概には言えないでしょ、って意味

365 名前:Now_loading...774KB mailto:sage [2012/02/22(水) 23:29:59.37 ID:979q3B4N]
>>364
えー。Vectorが密な配列、連続したメモリ領域だから早いわけで、
その連続したメモリ領域を確保するためにジェネリクスの構文をわざわざ拡張したんじゃないか。
順序が逆だと思うが。

もし今後拡張でArrayにもジェネリクスが採用されたりした場合、
Arrayも型固定だから速いってことになるよ?

>出し(pop)入れ(push)するときはArrayより遅いかもしれないけど、readする時は確実に速いので使い方如何では一概には言えないでしょ、って意味
出すがpopとは思って無かった。readと思った。
>pushで使わざるを得ない時に時にVectorを使うのはアホっていってるのに対して言ってるの
だれがアホって言ったの?
だいたい>>292でpush使う時に言及しているわけだし、
>Vectorを使いたい時点で固定長を意識した方が良い。
っていうのが何で問題なの?
固定長にするだけでパフォーマンスは確実にあがるわけだよ。
その分気を付けないといけない事が増えるだろうけど。
それを嫌って使わないことを選択することは排除してないけどな?



366 名前:Now_loading...774KB [2012/02/23(木) 04:26:25.09 ID:hlXk4FcN]
調べてみたら固定長であろうが、添字であろうが、pushであろうが
一度領域を確保させたらその後の添字でのアクセス速度は大体同じだった。

初期化時間がほんの少し変わる程度のレベル。
使い回しで運用するなら何も変わらない。
好みでいいよホント。

367 名前:Now_loading...774KB [2012/02/23(木) 22:20:50.15 ID: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 mailto:sage [2012/02/23(木) 23:17:12.04 ID:4zJ2MKxN]
同じ関数内ならまた使える
他で使いたいなら別の変数で受けておくんだけど >別のスクリプト ってなんやねん
クラスファイルならメンバ変数用意して入れとけば同クラス内のどこからでも参照できる

369 名前:Now_loading...774KB [2012/02/24(金) 00:51:13.38 ID:lFddvvqM]
>他で使いたいなら別の変数で受けておくんだけど
具体的にどうやるのですか?

370 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 00:59:51.37 ID:B98DNoNH]
ARR.visibleとか頭痛くなるからやめて(>_<)



371 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 01:02:16.44 ID:sjrQC//F]
大文字はないな

372 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 01:07:00.75 ID:sjrQC//F]
警告無視すれば、同じ変数名使っても問題なく動くよ
まあコードとしては問題あるから警告出るんだけど

あるいはArray#forEachとか使えば警告出なく出来るかな

373 名前:Now_loading...774KB [2012/02/24(金) 01:49:25.81 ID:mgywVX5W]
スレ違いと分かってながら、人が今見てそうと思って皆にヘルプ><

概要:背景に使う画像が2種あり、それぞれをレイヤーに分けている。
   AVIで書き出すと、レイヤー1を表示、レイヤー2を非表示の場合は
   綺麗に書きだせる。

   レイヤー2を表示、レイヤー1を非表示にして書き出すと
   ムービー全体が荒くなる。文字やそのほかのおオブジェクト全て。

   前者と後者の書き出し方に全く違いは無いはずなのに
   ○一日かけて書き出ししても一向に改善策が分からない。

   教えてエロい人><
   

374 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 02:12:23.40 ID:O3+Z2z4C]
>>373
スレチ
まで読んだ

375 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 08:26:17.63 ID: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 mailto:sage [2012/02/24(金) 09:57:29.98 ID:eaKQgxO0]
>>375
インスタンスの変数を一度で連番にする方法は、配列に入れるしか無いと思う。間違ってたらごめん
そのgetDefinitionByNameは、クラス名を指定するのであって変数名ではないはず。
つまり、square0〜square9のクラスがあるんだったらいいけど、squareClassしか無いのであれば
エラーだと思う。



377 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 10:58:02.16 ID: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 mailto:sage [2012/02/24(金) 11:09:58.85 ID:6mEC4lLr]
クラス名が小文字で始まるのが気持ち悪いが、
stage.getChildByName(name_str)で複製元がとれるんで、
squareClassにcloneメソッド(クラスのメンバを複製するメソッド)を追加して
やってみればいいんじゃないかな。

379 名前:Now_loading...774KB [2012/02/24(金) 11:34:01.04 ID: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 [2012/02/24(金) 12:28:11.17 ID: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 mailto:sage [2012/02/24(金) 12:46:27.28 ID:6mEC4lLr]
>>379
そのスクリプトの最後のほうの
trace(in_text.text); で
なし
テスト
と表示されるなら、default側に来てるってことでしょ。

>>380
Numberは浮動小数点だから、0.3ってものが表現できない。
文字列でフォーマットするか、int/unitで処理して10で割るとか
工夫が必要

382 名前:Now_loading...774KB [2012/02/24(金) 12:58:10.79 ID:89pLhC/J]
379です。説明不足すみませんでした。
入力フォームでテストと入力してcase"テスト"と一致させ
テスト
を出力させたいのですが、
381で仰られている通り、テストと入力しても一致せずdefaultに流れて
なし
テスト
と表示されています。
一致させて
テスト
を表示させるにはどこを直せばよろしいでしょうか?

383 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 13:06:58.73 ID: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 [2012/02/24(金) 13:27:30.36 ID: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 [2012/02/24(金) 13:28:01.93 ID: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 [2012/02/24(金) 13:30:13.03 ID:lJqfUYy5]
すいません、上から4行目の

click_del( e , L_zero_n[0] ) :誤

 ↓

A(e,L[0]):正

の間違いでした。申し訳ありません。

387 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 13:43:56.67 ID:6mEC4lLr]
>>382
試したがうまくいく。
初期文字列に空白とかが入っているとか。


388 名前:Now_loading...774KB [2012/02/24(金) 13:49:29.46 ID: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 mailto:sage [2012/02/24(金) 14:11:34.03 ID:6mEC4lLr]
>>388
t.indexOf("\r");
ってやって、-1以外だったら改行コードがはいってることになるね。

390 名前:Now_loading...774KB [2012/02/24(金) 14:24:20.71 ID:89pLhC/J]
>>389
trace(t);の下に
t.indexOf("\r"); いれてみましたが、
何も返ってこないですね・・・ということは改行コードが入っているのかな?



391 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 14:28:27.96 ID:6mEC4lLr]
あ、すまん。
trace(t.indexOf("\r"));
ってことです。

392 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 14:31:58.80 ID:N7X/EAID]
>>384
iの値は保持されないので、
Dictionary使うとか、L[i]にiの値を入れるための変数定義するとか

393 名前:Now_loading...774KB [2012/02/24(金) 14:34:27.31 ID:89pLhC/J]
>>391
3が返ってきました('-';
-1じゃないので改行が入ってるってことですね(T-T)


394 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 14:42:57.07 ID: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 mailto:sage [2012/02/24(金) 14:43:45.74 ID:6mEC4lLr]
>>393
ですねw

396 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 14:47:14.18 ID: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 mailto:sage [2012/02/24(金) 15:19:13.09 ID:6mEC4lLr]
>>393
TextFieldのmultilineをfalseに設定したら?

398 名前:Now_loading...774KB [2012/02/24(金) 18:55:47.76 ID:89pLhC/J]
>>397
TextFieldのmultilineをfalseに設定して単一行にしてもやはり改行が入っちゃうみたいです(T-T)
とりあえず今、TextFieldのプロパティでClssic TextをTLFに変更したらいけました!(この辺まだ勉強してないので
これでいいのかわかりませんが)
改行コードに四苦八苦(削除だとか統一だとか)させられてますが、もうちょい調べて頑張ってみます。

399 名前:Now_loading...774KB [2012/02/24(金) 20:17:56.71 ID:NSUKlyLJ]
初心者です。
ムービクリップの位置がX座標200/Y座標200にあって
mc.x=100;
mc.y=100;
と記述して位置を変更した場合、
これを『元の位置に戻す』みたいなことはできるのでしょうか?



400 名前:Now_loading...774KB mailto:sage [2012/02/24(金) 22:50:34.03 ID:6mEC4lLr]
一発でできるようなもんはない。
けど、大して難しくないよね。元の位置を覚えておくだけで良いし。



401 名前:Now_loading...774KB [2012/02/25(土) 05:43:25.69 ID: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 mailto:sage [2012/02/25(土) 10:36:21.34 ID: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 mailto:sage [2012/02/25(土) 11:06:52.72 ID:JczUZ3dj]
>>402
stage["square"][0].xでどうかな?

404 名前:Now_loading...774KB mailto:sage [2012/02/25(土) 11:10:30.33 ID:JczUZ3dj]
>>403
this["square"][0].xとか?

405 名前:Now_loading...774KB mailto:sage [2012/02/25(土) 11:12:15.84 ID:3jV9He3h]
>>401
方法ない気がする。思いつかないだけであるかもしれないけど。

変数名よりpackage名の方を変える方が手間がかかるが、そっちの方が良いと思う。
ユニークになるようにちゃんと考えてからね。jp.hoge.foo.objectsとかするとそれっぽくなるw


406 名前:Now_loading...774KB mailto:sage [2012/02/25(土) 11:16:45.64 ID:aWGuWU9C]
>>401
ちがう クラス名の後に()がついてっからだおおお
ここもintかuintにしとけ
var len:int = this.objects.length;

407 名前:Now_loading...774KB mailto:sage [2012/02/25(土) 11:36:37.43 ID:3jV9He3h]
>>406
うぉ。ほんとや。
FlashBuilderで補完してくれんかったから出来んって思ってたが
コンパイルエラーにはならんねw

408 名前:Now_loading...774KB mailto:sage [2012/02/25(土) 11:40:34.28 ID:aWGuWU9C]
>>402
クラスファイルにしてるのかフレーム記述なのかどっちだお
メソッド内でvar square:Array = new Array(); 宣言するとsquareはメソッド内のローカル認定されるから
他から参照できないんだ メソッドの外で定義して 参照するときは普通に square[ 0 ].x = 100; でおk

基本的な知識が足りてないぽいな どっかで基本だけお勉強してきた方がいいお
スレで答えが出るまで止まってたら作業なんて進まない

409 名前:Now_loading...774KB mailto:sage [2012/02/25(土) 13:08:43.52 ID:lm2JmoWd]
>>402
考える意思

410 名前:Now_loading...774KB mailto:sage [2012/02/25(土) 17:57:19.25 ID:QMHGhDRb]
まぁでも基本って調べようにも調べづらいしなぁ




411 名前:Now_loading...774KB mailto:sage [2012/02/25(土) 22:54:46.88 ID:LbXFu1/B]
ActionScriptの勉強をはしめたいのですが、オススメの本やwebサイトはありますか?

412 名前:Now_loading...774KB [2012/02/26(日) 01:25:53.33 ID:FA8HEhiz]
初心者です。
Arrayで格納した5つのムービークリップを
ある1つのボタンを1回押すたびに
[0]~[4]の順番に表示が切り替るようにできますか?
[4]まで行ったら次は[0]に戻るようにしたいです。
ActionScript3.0使用。


413 名前:Now_loading...774KB mailto:sage [2012/02/26(日) 01:41:41.23 ID:NOHvZtMq]
表示が切り替わる というのをどのように実装したいか次第

配列としてのヒントは(i+1)%5

414 名前:Now_loading...774KB [2012/02/26(日) 01:59:23.05 ID:FA8HEhiz]
>>413
もう少し詳しく説明お願いします。
スンマセン!

415 名前:Now_loading...774KB mailto:sage [2012/02/26(日) 02:03:56.03 ID:NOHvZtMq]
>>414
まずやりたいことの問題を切り分けるのが大事
とりあえず
MC2つあった時にそれらをボタンアクションで切り替えることはできるの?

416 名前:Now_loading...774KB [2012/02/26(日) 02:18:37.53 ID:FA8HEhiz]
今はボタンを押したとき
if(mc1.visible){mc2.visible= true;}
else if(mc2.visible){mc1.visible= true;}
と記述してます。


417 名前:Now_loading...774KB [2012/02/26(日) 02:20:26.66 ID:FA8HEhiz]
↑えーと、2つとも非表示をしてからです。

418 名前:Now_loading...774KB mailto:sage [2012/02/26(日) 04:02:37.98 ID:NOHvZtMq]
なら
mc[i].visible=false;
i=(i+1)%5;
mc[i].visible=true
でいいじゃん
>>413の時点で解決してるじゃん

419 名前:Now_loading...774KB mailto:sage [2012/02/26(日) 04:58:59.04 ID:m9AoyUQW]
全部非表示にした後じゃ、そのifどこも通らなくね?
どうでも良いけど

420 名前:401 [2012/02/26(日) 06:21:12.30 ID:QzLTKR1f]
>>405
やはり名前を変えるしかないんですかね
もう少し足掻いてみますが他に手立てがなければそうします

>>406
抜け落ちてしまいましたが、Test():void、len:int です。
var len:int = this.objects.length; ←これでもエラーとなります。
>クラス名の後に()がついてっからだおおお
これはどういった意味でしょうか?



421 名前:401 [2012/02/26(日) 06:23:11.96 ID:QzLTKR1f]
>>406
見直したら間違っていました。クラス名の()もミスです。
コピペしてるわけではないのでこうなっていまい混乱させてすみません。
クラス名の()が無くても、エラーとなります。
度々申し訳ございません・・・。

422 名前:Now_loading...774KB [2012/02/26(日) 08:21:03.27 ID: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 [2012/02/26(日) 08:44:02.26 ID:Lkf+EnJk]
>>418
422です。スイマセン、できましたー。

424 名前:Now_loading...774KB [2012/02/26(日) 09:26:05.06 ID:Lkf+EnJk]
ん?[1]~[4]の順番に表示が切り替って
[4]まで行ったら次は[1]に戻るようにするにはどうしたらいいんだろ

425 名前:Now_loading...774KB mailto:sage [2012/02/26(日) 10:29:07.38 ID:eO5xqLJY]
>>421
var len:int = objects.length;//メンバ変数にthisはいらないんじゃん?
これでもだめならもうわからん うちの環境ではパッケージ名と被ってもおkだった

426 名前:375,402 mailto:sage [2012/02/26(日) 11:18:23.25 ID:A0at/yGx]
>>403
stage["square"][0].xにすると以下のエラーが出てしまいました。
ReferenceError: Error #1069: flash.display.Stage にプロパティ square が見つからず、デフォルト値もありません。
at test_fla::MainTimeline/moveSquare()
at test_fla::MainTimeline/frame1()
sky.geocities.jp/ameryamery/403.fla

>>404
this["square"][0].xにすると以下のエラーが出てしまいました。
TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
at _403_fla::MainTimeline/moveSquare()
at _403_fla::MainTimeline/frame1()
sky.geocities.jp/ameryamery/404.fla

>>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()
sky.geocities.jp/ameryamery/408.fla
何がいけないのでしょうか?



427 名前:Now_loading...774KB [2012/02/26(日) 12:43:01.59 ID: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 mailto:sage [2012/02/26(日) 14:52:03.32 ID:BaBydG0d]
常駐して質問してる奴のサポセンみたいになってるなw

自分の頭で考えてからにしてほしいもんだ

429 名前:Now_loading...774KB mailto:sage [2012/02/26(日) 15:24:22.91 ID:MwIC8OEx]
>>425
うちはFlash Professional CS5でエラー出る
>>407がFlashBuilderでエラーでないらしいから環境の違いかもね


430 名前:Now_loading...774KB [2012/02/26(日) 17:26:24.19 ID:/pJ926vy]
FlashBuilder4.6です。
スタンドアロンFlashPlayerで表示するFlashムービーを作っているのですが
ウィンドウサイズを最低限UIComponent.minWidth及びminHeightより大きく
表示するにはどうすればよいでしょうか?

widthとheightを固定値にすればその大きさになってくれるのですが、
リキッドレイアウトを想定したデザインにしているため、
出来ればwidthとheightを100%から変えたくないのです。



431 名前:Now_loading...774KB [2012/02/26(日) 18:33:41.33 ID:kPB8zu07]
>>418理解しました。
mc[i].visible=false;
i=(i+1)%5;
mc[i].visible=true
これで順番にArrayに格納したムービークリップを
表示していけるのが分ったんですが、
逆順番に表示が難しい。
Aボタンを押すと[0]~[4]まで順番に表示を切換え
Bボタンを押すと逆順番に表示したいのですが
うまくいきません。


432 名前:Now_loading...774KB mailto:sage [2012/02/26(日) 18:37:55.80 ID:S/Kz+fvk]
そうですか

433 名前:Now_loading...774KB mailto:sage [2012/02/26(日) 20:24:54.18 ID:NOHvZtMq]
>>431
理解したんなら二行目の意味よく考えれば応用できるだろ

ちょっとこの三行がなにやってるのか説明してみ

434 名前:Now_loading...774KB [2012/02/26(日) 21:04:12.46 ID:kPB8zu07]
iの値を1ずつ増やして
4のときは(4+1)÷5で0に戻してるのは
分るのですが、
4からi+1の値を減らしてくのかな?
うーむ。

435 名前:Now_loading...774KB mailto:sage [2012/02/26(日) 21:16:25.12 ID:+stcZHxe]
スレチかもだけどAS3について勉強できる書籍教えてください

cs5.5mcかったらflash5ついてたしMX以来久々に触ろうとおもったらmcやボタンインスタンスに直接書けなくなってるしわけわからなくて

436 名前:Now_loading...774KB [2012/02/27(月) 02:57:57.34 ID:l+BFSs+J]
435
完璧にhtml5変換できるAS2のままの方がいいYO

437 名前:Now_loading...774KB mailto:sage [2012/02/27(月) 08:45:45.69 ID:r7EQhl8w]
AS2でも完全な変換は無理

438 名前:Now_loading...774KB [2012/02/27(月) 09:12:10.77 ID:pxoBi0Rw]
>>434
プログラミングに王道なし
キャッチボール(基本)もできないやつに外野フライ(応用)は捕れない。

439 名前:Now_loading...774KB mailto:sage [2012/02/27(月) 12:34:12.79 ID:pJgFFd1x]
王道ないなら、やり方に指示なんか出来ないはずだが

440 名前:Now_loading...774KB mailto:sage [2012/02/27(月) 13:51:27.22 ID:2xdYP+vt]
先人がかき分けた獣道があるよ



441 名前:Now_loading...774KB mailto:sage [2012/02/28(火) 00:57:35.64 ID:+3kwKHPV]
言語によって道が決まるんだから
獣道とは違う

442 名前:Now_loading...774KB [2012/02/29(水) 06:11:52.55 ID:yk5bTvCS]
ASでクライアントの能力を推定する方法を探しています。
CPUパワーやメモリ搭載量を直接知ることは出来ないので、1つの案として浮動小数点計算を
させて、手元のPCとの対比を考えています。

例えば、ある繰り返し計算(例えば10万回)を手元のPCが100msで終わったとしたら、これを基準
として、クライアントで同じ計算を行いその時間を元に知るというものです。

他に良い案はありますか?


443 名前:Now_loading...774KB mailto:sage [2012/02/29(水) 08:13:37.84 ID:DT4jDBvk]
アンケート

444 名前:Now_loading...774KB mailto:sage [2012/02/29(水) 15:22:10.16 ID:A2/NE12S]
>>443に一票

445 名前:442 mailto:sage [2012/03/01(木) 01:14:43.50 ID:H0TTFYG7]
>>443-444
不特定多数の人が対象なので、一旦SWFを起動してもらって
環境に応じて挙動を変えるのが目的です。


446 名前:Now_loading...774KB mailto:sage [2012/03/01(木) 01:29:47.26 ID:6LDBT280]
一端SWF起動して、そこでアンケート

主に描画がネックなんだから、複雑な描画とかして
FPSとれば?

447 名前:Now_loading...774KB mailto:sage [2012/03/01(木) 01:34:11.10 ID:6LDBT280]
そもそも自動的に挙動変えなくちゃいかんの?
PCゲームとかのように、オプションで変更可にするほうがよさそうに思えるが

448 名前:Now_loading...774KB mailto:sage [2012/03/01(木) 05:04:21.17 ID:yeGZKgHa]
>>442
へぇ。面白いねそれ。俺もやってみようかな

449 名前:Now_loading...774KB mailto:sage [2012/03/01(木) 12:25:42.92 ID:Zf7WGHrJ]
100ms位じゃぶれが大きくてつかえない。
かといって10秒3回とかやられたら
その時点でそのSWF閉じるな。

バックグラウンドで何かやってるのとかも影響するから
結局利用者に選ばせた方が良いと思うんだが。

450 名前:Now_loading...774KB mailto:sage [2012/03/01(木) 18:03:43.41 ID:Sapx7fqp]
ActionScript3です。
public const hoge:Hoge = new Hoge(this)←こいつにthisを喰わせてやりたいのですが
そのままやるとうまくできません。どうやってthisを渡してやればよいでしょうか?



451 名前:Now_loading...774KB mailto:sage [2012/03/01(木) 18:11:13.22 ID:Sapx7fqp]
>>450 自己レス。なんかの思い違いだったようです。
普通にthis喰わせることができました

452 名前:442&445 mailto:sage [2012/03/01(木) 21:24:31.84 ID: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 mailto:sage [2012/03/01(木) 21:40:02.82 ID:Zf7WGHrJ]
>>452
同じ事やってるから最適化が走ってるとおもう。
JITの影響を排除しないといけない。

かといってrndとかそれ自体がぶれるからなぁ。

とココまで厳密にやる必要があるのかも疑問だけどね。
stage3dとか使ってるなら、パフォーマンスに明確な差が出るから
やった方が良いと思うが。

454 名前:442&445 mailto:sage [2012/03/01(木) 21:49:11.05 ID: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 mailto:sage [2012/03/01(木) 22:00:32.17 ID:Zf7WGHrJ]
いや、計算量がだからJITの影響あってもいいのか。
で、それでFPSどのぐらいになるかを試してみて、
いろんなスペックでベンチとって当てはめるぐらいか。

456 名前:Now_loading...774KB mailto:sage [2012/03/01(木) 22:03:03.93 ID:Zf7WGHrJ]
いや、やっぱfillrateじゃないけど、グラフィックス描画でベンチしないと
あんまり意味無いな。

457 名前:Now_loading...774KB mailto:sage [2012/03/04(日) 03:35:28.19 ID:FY8TzlO7]
AS3です
コンストラクタをinternalに、グローバル定数をpublicにしたいのですが、
コンストラクタはpublicのみなので、擬似的?に実装する方法はないでしょうか
クラスをinternal、定数をpublicにすると、定数を見つけてくれません

458 名前:Now_loading...774KB mailto:sage [2012/03/04(日) 04:47:37.50 ID:mImrIleb]
なぜinternalにしたいかによるけど、コンストラクタにinternalなクラスのオブジェクト食わせるのが定石かな

459 名前:Now_loading...774KB mailto:sage [2012/03/04(日) 15:14:23.75 ID:FY8TzlO7]
>>458
ありがとうございます
見せたいクラスはpublic、そのpublicクラスがinternalクラスを食べ、
publicクラス.internalクラスと使う感じですかね
そのやりかたでやってみます

460 名前:Now_loading...774KB [2012/03/04(日) 18:07:49.02 ID:AoE4Hu5+]
秋元がどう動くかが気になる



461 名前:Now_loading...774KB mailto:sage [2012/03/04(日) 18:08:19.43 ID:AoE4Hu5+]
誤爆すみません

462 名前:Now_loading...774KB mailto:sage [2012/03/04(日) 18:30:08.57 ID:V3Upn924]
>>460
握手会また騒ぎあったね^^

463 名前:Now_loading...774KB mailto:sage [2012/03/04(日) 20:17:31.26 ID:mImrIleb]
>>459
ClassAコンストラクタにClassBオブジェクトを食わせる方法
new ClassA(new ClassB() );//ClassBはinternalなのでClassAコンストラクタを実行できるのはClassBが作れる、クラス内のひとのみ
ってことだけど実はnull食わせればコンパイルエラーは回避できちゃう

464 名前:Now_loading...774KB [2012/03/05(月) 17:40:53.23 ID:1qpOi4Z2]
cs3でAS3を使っています。
一つの画像を、別の何枚かの画像を使ってモザイクアート出来るようなライブラリ、
もしくは見本になるサイトってないでしょうか?
探したのですがなかなか見つからなくて。
よろしくお願いします。

465 名前:Now_loading...774KB mailto:sage [2012/03/05(月) 19:01:31.00 ID:dM0YzqOB]
こういうソフトのこと?
www.lifehacker.jp/2009/07/foto-mosaik-edda.html

466 名前:464 [2012/03/05(月) 19:33:10.86 ID:1qpOi4Z2]
やりたいことはそういうことです!

具体的には、元々リンケージなりしてあるビットマップを使って、
ウェブカメラで撮影した写真を作るって感じなのですが。


467 名前:Now_loading...774KB mailto:sage [2012/03/05(月) 19:55:02.24 ID:dM0YzqOB]
グレースケールだったら結構簡単にできるとおもうけど。

468 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 01:57:20.29 ID:hXJ5b2h+]
Lite1.1 AS2.0です。
FLASH内の変数をそのままツイートする機能を実装したいのですが、どうすればいいのでしょうか。
s.ameblo.jp/linking/entry-10622233667.html
これだと変数がフォームに用意されるだけで、ユーザーに書き換えられてしまうので。

469 名前:Now_loading...774KB [2012/03/06(火) 02:05:22.27 ID: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の続き mailto:sage [2012/03/06(火) 02:05:54.65 ID:t2PavSx0]
こうしてメインクラスで var a:A = new A(); a.start(); とすると a が未定義プロパティ扱いされます。
ところが、class B の部分をコメントアウトして無効化し、呼び出しもしない場合はすると問題なく動作します。
ASファイル全体の構成は

package{
[ メインクラス ]
}

[ 上記のサブクラス群 ]

の順番です。 どうすべきでしょうか?




471 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 02:17:39.74 ID:GZ01iWDP]
>>468
swf単体では無理
OAuthでググれ

OAuth使うにしたってユーザーが書き換えられずに勝手につぶやかれるスパム機能は考えなおせマジで

472 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 10:26:26.69 ID:BEuucfUQ]
>>469
オーバーライドしてvar b:B に書き換えたんなら a:Aは未定義になるに決まってんだろ

クラスファイルのルールなんかは把握してる?
クラスファイル内には何個でもクラス定義できるがパッケージ外に定義したものは外から参照できず
同じファイルのクラスからじゃないと無理
パッケージ内にはパブリッククラス1個しか定義できない 関数、変数名も同じで同名なのは1個だけ

473 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 10:33:45.69 ID:BEuucfUQ]
あー もしかしてサブクラスをパッケージ外に定義しても使えないって話かな?
外部から呼べないから無理だよねw 試してないからわからんが

474 名前:469-470 mailto:sage [2012/03/06(火) 11:02:23.68 ID:v0s8nh6j]
>>472
さんきゅう。
「サブクラスをパッケージ外に定義しても使えない」という様子です。

ググるとCS4ではメインクラス以外には複数のクラスを設定できないとのことなので、
ttp://fumiononaka.com/TechNotes/Flash/FN0909001.html
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 [2012/03/06(火) 11:20:32.85 ID:/xfsZyU/]
>>467
グレースケールでも良いのですが、とにかく画像のピクセルの解析?なども
全く分からなくて手がつけられません…。
ライブラリでも参考でもいいので無いかなと探しているのです。

476 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 11:22:16.44 ID:BEuucfUQ]
気になったからこっちでも調べてみた
> override protected function run():void{
> override protected function run():void{
パッケージ外のクラスメソッドにアクセスするにはpublicじゃないとエラー出たな
publicに直してみ 親のクラスのも

477 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 11:26:02.11 ID:BEuucfUQ]
>>475
おめえのやろうとしてる事はかなりメンドイ事なんだお まずは普通のモザイクにチャレンジだ
ttp://hakuhin.jp/as/raster_efc.html#RASTER_EFC_02

478 名前:469-470 mailto:sage [2012/03/06(火) 11:36:17.54 ID:v0s8nh6j]
>>476
public class A extends Thread{
public class B extends Thread{

とすると、
  1114: public 属性はパッケージ内でのみ使用できます。 

となり、パッケージ内に移動すると>>472的に
  5006: ActionScript ファイルには外部から表示可能な複数の定義は使用できません

というエラーになります。
やっぱCS5でないと駄目っぽいです。


479 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 11:55:49.43 ID:BEuucfUQ]
ずっと勘違いしてたすまん やりたい事は
パッケージ外のプライベートクラスから他のプライベートクラスのインスタンス生成 って事だよね?
CS5.5でも実行されなかった(エラーは無し) 継承有りでも無しでも同じ エラーが出ないのが気持ち悪いな

結論:複数クラス定義は基本的に非推奨だからやめた方が吉 パッケージ外には関数だけにしとけ

480 名前:469-470 mailto:sage [2012/03/06(火) 12:09:40.60 ID:v0s8nh6j]
>>479
さんきゅう
「パッケージ外には関数だけにしとけ」 ・・・ 確かにそうではあるのですが、『そうめん』
の学習でttp://www.libspark.org/htdocs/as3/thread-files/document/ を参考にASを書いて
いるのでこうなっちゃいました。




481 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 12:57:40.42 ID:GPnTKBOo]
すみません。FileReferenceのsaveを使ってローカルにファイルを保存しているんですが、この時表示される選択ウィンドウをブラウザないしFlashの中央にする事って出来ますか?
中央でなくても位置指定の方法がわかれば教えてください。



482 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 15:50:37.05 ID: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 mailto:sage [2012/03/06(火) 16:44:46.23 ID:GPnTKBOo]
すみません。書き忘れてましたが、AS3です。FLEX3.5でやってます。

484 名前:464 [2012/03/06(火) 18:36:44.21 ID:/xfsZyU/]
>>477
ありがとうございます。
そのサイトは見ていたのですが、ようは、 new flash.display.BitmapDataを作って
置き換えている部分を、任意のBitMapにすればいいのではとは思ったのですが、
そこをどうすればいいのか…
すみません。ややこしいのですね。

485 名前:Now_loading...774KB [2012/03/06(火) 19:54:30.14 ID:EhOs+/Lo]
処理速度を計算するときに何万回実行して〜ミリ秒って書いてあるけど、1万回だったら1回処理する時間は1万分の○ミリ秒ってこと!?

486 名前:Now_loading...774KB mailto:sage [2012/03/06(火) 21:56:20.87 ID:jirUcBgg]
>>485うん

487 名前:Now_loading...774KB [2012/03/06(火) 22:17:25.60 ID:JEqpKhXB]
すいません
loaderで読み込んだBitmapをアニメーションさせたいんですけど
どこかにいいソースコードありませんか?

MovieClipだと重くなるので同じことをBitmapでやりたいのですが

488 名前:Now_loading...774KB [2012/03/06(火) 22:37:03.96 ID:wRPJ8PVM]
shapeのアルファを1から減らしたときに
描画の重なった部分が濃くなってしまうのを防ぐにはどうしたらいいのでしょうか?

489 名前:Now_loading...774KB mailto:sage [2012/03/07(水) 01:05:38.24 ID:mQPB0RZz]
>>488
alphaってのは透過させたい時に使うもんだ
単に薄くしたいなら描画する色を薄くするべし


490 名前:Now_loading...774KB [2012/03/07(水) 19:52:45.63 ID:kc+3J2/G]
FlashCS5,AS3,WinXP-Pro
ttp://www.libspark.org/htdocs/as3/thread-files/documentを参考にスレッドライブラリー
『そうめん』の使い方を勉強しています。

この『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 [2012/03/07(水) 20:51:15.02 ID:G9/qLnFN]
>>486
えっ!?そんなに速いの!
趣味でホームページにFLASHの簡単なゲーム作ろうかなって思って勉強してて
なんか重いイメージがあったから処理を的確に
最適なものをしていかないと行けないと思ってたんだけど
ある程度動くのかなー、
着せ替えゲームみたいなのにしようと思ってるんだ。
でも描画処理に時間かかるのか。
とにかくAS3うまく書かないとスゴい遅くなるイメージ。

492 名前:Now_loading...774KB mailto:sage [2012/03/07(水) 23:52:59.23 ID:f7rHHWYU]
>>491
デバイスのスペックと処理ないようによる
ゲーム系は重たくなりやすいから気をつけたほうがいい

493 名前:Now_loading...774KB mailto:sage [2012/03/08(木) 02:14:34.70 ID:OEvufe+3]
>>491
着せ替えゲームのようなもので、描画処理が間に合わないとかまずない。
よほど古いスペックのデバイスでもない限り、描画速度は十分。

494 名前:Now_loading...774KB [2012/03/08(木) 12:13:29.18 ID:REg53ZMI]
そっか。
ちょっと安心した!
生意気にも去年でたMacBookPro使ってるから、他の環境ではどう動くか気になってた。
描画処理って線>面>ビットマップって載ってたよ、イラレでイラスト書いたとき線つけてしまった。

495 名前:Now_loading...774KB mailto:sage [2012/03/08(木) 14:55:20.82 ID:pNBMVxWh]
素人が普通に作ったFlashなら描写余裕
素人がちょっと調子に乗っちゃって変なことやると重くなる

496 名前:Now_loading...774KB [2012/03/08(木) 23:00:39.08 ID:rfoK0QZq]
質問です
actionscript3のmxml
<s:Application xmlns:fx="ns.adobe.com/mxml/2009"
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 [2012/03/08(木) 23:01:03.20 ID: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 mailto:sage [2012/03/08(木) 23:47:01.72 ID:OEvufe+3]
なんのために IMXMLObjectをインプリメントしているかわかってるんかな??

> ここでaaa.asの変数dataを参照したい
これは無理。
クラスaaaのメンバ変数ではなく、関数内でのみ有効な変数だから。

MXMLを介在させることを前提にするなら、aaaに実装したinitializedの引数document
がそのMXMLのインスタンスだから、それをつかってアクセスすればいい。

499 名前:Now_loading...774KB mailto:sage [2012/03/08(木) 23:51:04.17 ID:OEvufe+3]
微妙に間違ってるな。
> MXMLを介在させることを前提にするなら、aaaに実装したinitializedの引数document
> がそのMXMLのインスタンスだから、それをつかってアクセスすればいい。
MXMLを介在させることを前提にするなら、bbbに実装したinitializedの引数document
がそのMXMLのインスタンスだから、それを保存しておいてアクセスすればいい。
document.class1でaaaのインスタンスにアクセス出来る。

500 名前:Now_loading...774KB mailto:sage [2012/03/08(木) 23:56:56.79 ID:RQriW7tp]
スレチかもしれませんが、phpとの通信で質問です。
www.artful.jp/blog/archives/2006/12/flashphp_1.html
ここにある通りの処理をしている筈なのですが、flashのムービープレビューだと
値の中身がうまく表示されません。(phpの本文が出力されている)
一応phpとは通信できているようなのですが、どうすればいいのでしょう?
apacheは起動してます。



501 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 00:24:36.43 ID:Nm8Z6QoR]
phpがApacheに正しく組み込まれているか確認してみた?

502 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 00:26:38.30 ID:6NqzAfxe]
>>501
php単体だと平気だったので(echoとかで中身が表示されてる)
通信の仕方が悪いのか、確認の仕方が悪いのか……

503 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 01:16:45.24 ID:Nm8Z6QoR]
> (phpの本文が出力されている)
って時点で、httpヘッダがオカシイわけだしねぇ。
リクエストのURLをブラウザにそのまま張るとどうなるの?

504 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 01:34:54.54 ID:6NqzAfxe]
$var='野獣先輩';
echo "&var=".$var;
apache起動後アドレスバーにphpファイル名を入力すると、
ブラウザ上には野獣先輩と表示されています。
ところがムービープレビューでtraceしてみると.$var. ?>みたいな事が表示されます。

505 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 01:51:53.66 ID:Nm8Z6QoR]
うーん。全部みんとわからんが、URLじゃなくてファイル名ってところが気になる。

506 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 01:56:03.40 ID:6NqzAfxe]
>>505
localhost/test.php
これだとブラウザに値が表情されてます。
phpはよく分からないのですが、これで大丈夫なんですよね?

507 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 07:27:14.62 ID:nhdm0wKt]
>>498-499
ありがとうございます
助かりました

508 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 10:09:35.29 ID:FoTObuVR]
ゲームの攻撃エフェクトを作りたいのですが、探しても無くて困ってます
"エフェクト"だと画面効果ばかりヒットしてしまって
エフェクトとかパーティクル以外でそういうものが検索できる言葉ってありますか?


509 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 10:12:23.05 ID:DhA3tMNh]
>>508
どんなエフェクトだよ

510 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 12:01:30.32 ID:ro8kmz1f]
>>506
それで表示されるんなら大丈夫やね。
traceした結果が、スクリプト全部出てくるほうがまだわかりやすいけど、
一部しか出てないのかな?

ムービープレビューじゃなくて、一度デプロイしてみてためしてみたらどうだろう。



511 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 14:46:44.67 ID:W67uIt+F]
PHP側の文字コードの話じゃないの。

512 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 15:17:28.20 ID:ro8kmz1f]
それだったら文字化けしたとか、結果がちがうくない?

513 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 17:29:36.39 ID:DhA3tMNh]
?>が表示されてんだからphp側の問題じゃないの?

phpコードさらさない限りわからんけど

514 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 20:21:16.85 ID:6NqzAfxe]
本文は>>500まんまです。
UTF8で保存しています。


515 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 20:28:07.23 ID:WQ12JlUO]
>>514
一番最初に<?phpいれてる?

516 名前:Now_loading...774KB [2012/03/09(金) 20:42:39.92 ID:qxYGKkrE]
FlashCS4,AS3,WinXP
TextAreaとTextInputに共通なのですが、背景の色の変更が分かりません。

ttp://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=2589&forum=8&post_id=14537
を見ると tArea.setStyle("backgroundColor", 16進RGB色); で変更可能とのことですが、
この通りやっても背景は白のままです。

別案として tArea.textField.backgroundColor = 16進RGB色; としても同じでした。しかしこの
場合は、trace(tArea.textField.backgroundColor)で見るとしっかり指定した色が参照できます。

つまづいてます。どこが問題なのでしょうか?


517 名前:Now_loading...774KB [2012/03/09(金) 22:24:01.72 ID:6NqzAfxe]
>>515
<?php
$a=100;
$b=200;
print("&a=".$a."&b=".$b);
?>
ムービープレビューでtraceを見てみると
a=".$a."
b=".$b);

?>
と表示されてしまいます。

518 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 23:10:57.08 ID:DhA3tMNh]
>>517
本当にphpサーバー動いてる?
拡張子.phpになってる?

519 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 23:18:21.21 ID:6NqzAfxe]
>>518
拡張子はphpですし、apache起動後にアドレスバーからURL入れて表示させる分には上手くいってるみたいです。
両ファイルともhtdocsに入ってます


520 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 23:32:53.15 ID:Nm8Z6QoR]
はじめの方の書き込み見てないんだろうな・・・。



521 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 23:33:37.26 ID:Nm8Z6QoR]
で、>>510が言ってることは実行したの?

522 名前:Now_loading...774KB mailto:sage [2012/03/09(金) 23:54:07.16 ID:6NqzAfxe]
デプロイですか?
phpに触れるのは始めてなのでよくわからないのですが、
デプロイするにはカピストラーノ等を導入しないといけないのでしょうか。
ちなみにメモ帳で書いてます。
as以外は初めてなのですいません。

523 名前:Now_loading...774KB mailto:sage [2012/03/10(土) 00:18:07.73 ID:a49Ax5zH]
>>519
phpが動いてないか直接ファイルをよみこんでるかなんだよな

524 名前:Now_loading...774KB mailto:sage [2012/03/10(土) 00:31:22.51 ID:F+ac7yjX]
>>523
FLASH側ではsendAndLoadで読み込んでます。

525 名前:Now_loading...774KB mailto:sage [2012/03/10(土) 08:31:18.07 ID:XvLR9ZOc]
flash初心者です
ある動作をランダムに行いたいと思っているのですが、
どうすればいいのかわかりません。

ある動作をランダムというのは、
例えばシンボルが4つあり、それを下(ステージ外)から
ランダムに泡のようにうようよと浮かび上がってくる感じです。

526 名前:Now_loading...774KB mailto:sage [2012/03/10(土) 09:06:24.77 ID:FJxgO3qB]
>>525
先ず、制作環境を書きましょう。
あと「ActionScript 泡 浮」で調べよう。


527 名前:Now_loading...774KB mailto:sage [2012/03/10(土) 10:28:49.37 ID:a49Ax5zH]
>>524
Flash自体もlocalhost/○○.swfに置いてる?

サーバーに上げたら確実に解決するよ

528 名前:Now_loading...774KB mailto:sage [2012/03/10(土) 10:53:47.14 ID:XvLR9ZOc]
>>526
すいません、忘れてました
でも、言われた通り検索してやってみるとイメージ通りだったので解決しました
どうもありがとうございます

529 名前:Now_loading...774KB mailto:sage [2012/03/10(土) 12:21:00.73 ID:XvLR9ZOc]
またすいません、先ほど質問した者です。
AS3で、
あるボタンを押すと指定された画面内に表示される動作をしたいと思ってるのですが、
この場合ターゲットパスで良いのでしょうか?
その画面が一枚絵ではなく、色々動作を加えたものなのですが…

530 名前:Now_loading...774KB mailto:sage [2012/03/10(土) 19:16:52.61 ID:F+ac7yjX]
>>527
サーバーに上げても無理でした。
どうやらflashがtxtとして読み込んでるみたいです。
プロパティを見るとphpなのに、どうなってるんでしょうか?



531 名前:Now_loading...774KB mailto:sage [2012/03/10(土) 19:24:26.31 ID: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 mailto:sage [2012/03/10(土) 19:25:29.18 ID: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 mailto:sage [2012/03/10(土) 20:36:15.37 ID:a49Ax5zH]
>>530
ロリポップサーバーに上げてみたけどうまくいくぞ
URLはhttp://から入力したけど

534 名前:Now_loading...774KB mailto:sage [2012/03/11(日) 15:44:26.37 ID:ReD4Z46d]
結局>>505が言ってたオチか。

535 名前:Now_loading...774KB mailto:sage [2012/03/14(水) 00:30:02.77 ID:tbIOcVor]
>>533
自鯖に上げたところ、値を読み込むようになったのですが
やはりローカルで実行するとphpをtxtと思って読み込んでしまうみたいです。
これはapacheが悪いのでしょうか?

536 名前:Now_loading...774KB mailto:sage [2012/03/14(水) 00:32:00.84 ID:tbIOcVor]
なんでもないです。できました。ありがとうございます。ありがとうございます。

537 名前:Now_loading...774KB [2012/03/15(木) 18:21:10.63 ID:uvKQMrOe]
複数の画像ファイルを読み込んで画像の切り出しをしたいのですが
上手くいきません
ひとつの画像ファイルだけならなんとかできたのですが
どこか参考になるサイトなどないでしょうか?

538 名前:Now_loading...774KB [2012/03/16(金) 04:31:53.26 ID: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 mailto:sage [2012/03/16(金) 10:28:10.53 ID:DIje9j3v]
obj宣言した次の行に obj[varKey]='aaa' で良いんじゃないかな

540 名前:538 [2012/03/17(土) 02:48:23.06 ID:8gzPPybX]
>>539
回答ありがとうございます。
そのやり方で可能なのは知っているのですが、
今回訳あって宣言時に使用したいのです。



541 名前:Now_loading...774KB mailto:sage [2012/03/17(土) 12:05:56.25 ID:jFUdp5sM]
訳あっての訳を書けば
どーせくだらない理由なんだから
やる意味がないことが明らかになるぞ

542 名前:538 [2012/03/17(土) 12:17:51.50 ID:8gzPPybX]
>>541
技術的に不可能なのでしょうか?

543 名前:Now_loading...774KB mailto:sage [2012/03/17(土) 12:56:31.00 ID:jFUdp5sM]
技術的に
の言葉の使い方がおかしいな

544 名前:538 [2012/03/17(土) 13:32:16.65 ID: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 [2012/03/17(土) 13:32:50.93 ID:8gzPPybX]
訂正:
var_dump($arr); //array(2) { ["key1"]=> string(3) "aaa" ["key2"]=> string(3) "bbb" }


546 名前:Now_loading...774KB [2012/03/17(土) 15:15:15.77 ID:Eq/GnJAf]
どんな訳だよ。
気になって夜も眠れないから教えろよ。

547 名前:Now_loading...774KB mailto:sage [2012/03/17(土) 16:08:03.99 ID:lqx2Y4yD]
とりあえず↓で出来たぞ

var obj:Object;
var prop:String = "key1";
obj = { (prop.toString()):1 };

548 名前:538 [2012/03/17(土) 16:47:26.98 ID:8gzPPybX]
>>547
ありがとうございます!!!!!
無事に解決しました!

549 名前:Now_loading...774KB mailto:sage [2012/03/17(土) 19:31:15.10 ID:dc9aZQ2I]
くだらなすぎわろた
マジで訳を聞かせてよ

550 名前:Now_loading...774KB [2012/03/19(月) 09:15:40.71 ID:SPAuX5Jr]
ループ中にtrace()を使うと時々ログが飛ぶのですが何か対策はありますか?



551 名前:Now_loading...774KB [2012/03/19(月) 10:33:23.66 ID:SPAuX5Jr]
自己解決しました
tracerabbitというソフトを使って見ていると正常にログが書き出されませんでした
みなさんご注意を

552 名前:Now_loading...774KB [2012/03/20(火) 21:09:13.64 ID:KbmB98KR]
Red5やFlashMediaServerについての質問はこちらでいいでしょうか?
NetConnection.callでサーバーのApplicationクラス名を指定して呼び出すときは
そのクラス名から作られたオブジェクトを呼び出しているということなのでしょうか?

だとすると、newもせずに自動でそのクラスからオブジェクトが作られたと
いうことになると思うのですが、それではオブジェクトは自動で作られたその一つしか
存在しないことになるので、実質的にはインスタンスオブジェクトというより静的クラスのように
なると思うのですが、そういう認識でいいのでしょうか?

553 名前:Now_loading...774KB mailto:sage [2012/03/20(火) 21:16:22.71 ID:uYM1ezvd]
よくありません

554 名前:Now_loading...774KB [2012/03/20(火) 21:57:35.31 ID:KbmB98KR]
>>553
すみません、つまりcallは何を呼び出していて
それはどのように作られているものなのでしょうか?

実験してみるとstatic変数もインスタンス変数も両方効いていたので
インスタンスのオブジェクトではあると思うのですが、だとすると自動で作られているということは
一つしかサーバーの中には存在しないわけなので、
サーバーが起動したときに
「Application名A Application名A = new Application名A();」のように
クラス名と同名のオブジェクトが作られていてそれをcallで呼び出すという
仕組みなのかと考えました
よろしくお願いします

555 名前:Now_loading...774KB mailto:sage [2012/03/20(火) 21:59:04.57 ID:KbmB98KR]
すみません、下から3行目は「それをcallで呼び出す」ではなくて
「そのオブジェクトのメソッドをcallで呼び出す」でした

556 名前:Now_loading...774KB [2012/03/22(木) 18:30:35.51 ID:1U/k6bQx]
基本的なことなんですけど、MXMLで右側にだけ
borderをつけるにはどうすればいいんでしょうか?

557 名前:Now_loading...774KB mailto:sage [2012/03/22(木) 23:40:08.45 ID:VI6omeMp]
>>556
バージョンはFlex4以降?
どっちにしろHTMLとCSSのようにまでは簡単じゃない。

558 名前:Now_loading...774KB [2012/03/23(金) 06:22:35.54 ID:QSc0utZX]
>>557
Flex4です
こういう場合はどうするのが定石なんでしょうか?

559 名前:Now_loading...774KB mailto:sage [2012/03/23(金) 13:17:07.93 ID:h/0uFGjH]
そもそもそんな事したいって思ったことが無いんだよね…。
skin設定でいけると思うけど、ちょっとやってみないとわからん。
気が向いたら調べるw

560 名前:Now_loading...774KB mailto:sage [2012/03/23(金) 23:50:42.13 ID:RskpkJfF]
AC3で動画の表示に関する質問です。
初め、画像クリックすると動画が始まり終わると、別のページへ移るやり方なんですが、
その動画をFlashではなくyoutubeを使ってブラウザ全体に写るよう
表示させたいのですが、方法ありますか?



561 名前:Now_loading...774KB mailto:sage [2012/03/28(水) 20:20:17.48 ID:9Rxx0tiu]
質問なんですが、
例えばステージ状に配置している、MCの1フレーム目にAS3でaddEventLIstenerを記述しているとして、
タイムラインをすすめて、そのMCをステージ上から消す(空白キーフレームにする)と、
removeEventLIstenerを使う事なく、addEventLIstenerが消えるんでしょうか。それともずっと残っているのでしょうか。

562 名前:Now_loading...774KB mailto:sage [2012/03/28(水) 21:03:58.34 ID:zr2m0JVQ]
addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);

function onEnterFrameHandler(event:Event):void
{
trace("まだある。");
}

みたいにすれば判るんじゃないかとおもったり

563 名前:Now_loading...774KB mailto:sage [2012/03/28(水) 21:04:35.68 ID:cCjPmJWc]
イベント自体は残ってるんじゃない? ただし絶対に機能しないイベントなんだろうが
なんか確かめる方法があったな.hasEventListenerとかwillTriggerとか
ヘルプ見ながら確かめてみれ

564 名前:Now_loading...774KB mailto:sage [2012/03/28(水) 21:17:10.34 ID:zr2m0JVQ]
そっか中じゃなくて親のタイムラインの1フレーム目ですか。 どうなるんだろ

565 名前:Now_loading...774KB mailto:sage [2012/03/28(水) 21:21:58.36 ID:dN7QNyA9]
参照されている限りは残るだろうね

566 名前:Now_loading...774KB mailto:sage [2012/03/28(水) 22:23:23.40 ID:9Rxx0tiu]
>>562のように
mc内のENTER_FRAMEのfunctionにtrace("まだある。"); を差し込んだら、
まだあるけどnullだよまだあるけどnullだよまだあるけどnullだよ…
と出ました。まだ残ってた。

ENTER_FRAMEのfunctionがいくつかあって、重くなるのが嫌なので、
mcを消すときに同時にremoveしておきます。
ありがとうございました。

567 名前:Now_loading...774KB mailto:sage [2012/03/29(木) 14:13:52.35 ID:3X7YsE7I]
on(rollOver){m = true;} //マウスがムービークリップに触れた時
on(rollOut){m = false;} //マウスがムービークリップから離れた時
on(dragOut){m = false;}//マウスがドラッグしたままムービークリップから離れた時

onClipEvent (load) {
this._xscale =100;
this._yscale =100;
}

onClipEvent (enterFrame) {
    if(m == true){
preMouseX = curMouseX;    //preはマウスが移動する前の座標、curはマウスが移動した後の座標
curMouseX = _root._xmouse;  //curに現在のマウスの座標を入れることによって、↑のような働きをする

preMouseY = curMouseY;
curMouseY = _root._ymouse;

this._xscale = 100+(curMouseX - preMouseX)/20;  //マウスが移動する前と後の座標を利用して、絵の大きさを変える
this._yscale = 100+(curMouseY - preMouseY)/20;  //20は調整値
    }
//マウスがムービークリップから離れた時、絵の大きさを元に戻す
if(m == false){
this._xscale =100;
this._yscale =100;
}

AS2で記述した「ムービークリップにマウスで触れると、マウスの動きに合わせてムービークリップの絵がプルプルする」スクリプトなのですが
これをAS3になおすとしたらどうやって記述すれば良いですか?

568 名前:Now_loading...774KB mailto:sage [2012/03/29(木) 14:39:19.18 ID:3X7YsE7I]
具体的には、AS3にはdragOutに相当するマウスイベントが見つからないのと
AS3になってscaleの処理が変わってしまって
this._xscale = 100+(curMouseX - preMouseX)/20; では挙動がおかしくなってしまうので困っています

this.scaleX = 1 + (curMouseY - preMouseY)/2000;と記述してみたりして調整値等をいじっているのですが
なぜかAS2の頃の挙動が再現できません

569 名前:Now_loading...774KB mailto:sage [2012/03/30(金) 10:50:21.13 ID:Bxp5bLif]
>>567
丸投げ的な困った質問だな onって事はクリップアクション使ってんだろ?
AS3でもクラスファイル使わずにタイムラインに全部書く手法でも可能なんだけど…
ドラッグのとこだけ書くから後はヘルプ見たりググッたりして自分で考えるんだ
対象MC.addEventListener( MouseEvent.MOUSE_DOWN, buttonOn );//マウスボタンON時のイベント登録
対象MC.addEventListener( MouseEvent.MOUSE_UP, buttonOff );//OFF時
function buttonOn( evt:MouseEvent ):void{
evt.target.startDrag( false );
}
function buttonOff( evt:MouseEvent ):void{
evt.target.stopDrag();
}

570 名前:Now_loading...774KB mailto:sage [2012/03/30(金) 19:50:21.29 ID:zQvUM5IO]
>>569
ありがとうございました



571 名前:Now_loading...774KB [2012/04/03(火) 12:09:26.49 ID:+oS9DjKE]
640x480より上のサイズでウェブカム入力しようとすると表示される比率が狂う事があるんですがそういう人いませんか
条件/対処方が分からず困ってます
例えばこんな感じの最低限のソースとかで 1280x720の中で更に横に伸びちゃったりとか

var camera_obj:Camera = new Camera();
camera_obj = Camera.getCamera();
camera_obj.setMode( 1280, 720, 30, true );

var _video:Video = new Video( camera_obj.width, camera_obj.height );
_video.attachCamera( camera_obj );
addChild( _video);

横に伸びるなら横を潰して4:3にでもすればいいんじゃないのと思うんですが、
全ての環境でなるわけじゃないので正常に表示出来てる場合でも潰してしまうと
そっちは縦に伸びてしまいます。
FlashPlayerのバージョンによる仕様の違いではなさそう

572 名前:Now_loading...774KB [2012/04/03(火) 19:36:26.55 ID:RyrVcMoW]
HTTPService使ってレスポンスヘッダ取得する方法教えてください。
PHP
header("X-XXX: 200");
〜〜〜〜〜〜〜〜
private function getResult(event:ResultEvent):void
{
//↓ここで空になってます。
Alert.show("trace", ObjectUtil.toString( event.message.headers ));
}
〜〜〜〜〜〜〜〜
<mx:HTTPService id="contactService"
url="test.php"
contentType="application/x-www-form-urlencoded"
method="POST"
resultFormat="text"
result="getResult(event)"
<mx:request xmlns="">
<name>{contactName.text}</name>
</mx:request>
</mx:HTTPService>

573 名前:Now_loading...774KB mailto:sage [2012/04/04(水) 08:46:39.30 ID:VPJx4wP0]
基本質問スレがgdgdなのでこちらでw

FlashPlayer11にアップグレードしたらFFでFlash内アンカーが効かなくなった。
シンプルなものを作ったりして、色々検証してみたけど全く飛んでくれない。解決策ないかな。
デグレードは無しの方向で。

574 名前:Now_loading...774KB [2012/04/06(金) 11:27:43.89 ID:K98N1uph]
SimpleButtonで
・デフォルトアクション(up/over/downの切り替え)をさせたい
・でもマウスイベントは受け取らせたくない
んだけど方法を教えれ、お願いします。

575 名前:Now_loading...774KB mailto:sage [2012/04/06(金) 12:19:53.84 ID:AR48t2ax]
>>574

up / over / down 切り替えそのものがマウスイベントだよ。
よく質問の意味が分からないんだけど、ポインタを指マークにしたくないということ?

576 名前:Now_loading...774KB mailto:sage [2012/04/06(金) 13:16:59.64 ID:K98N1uph]
>>575
そうではなくて、ボタンのステートは変えたい(=デフォルトアクション)けど、
クリックへの反応はしたくないし、イベントを受けとりたくもないってこと。

mouseEbable=falseにすればイベントを受け取らずに済むけど、
デフォルトアクションもしなくなるよね?
じゃぁってんで、enabled=trueにして、mouseEnabled=falseにしてみたけど
enabledはmouseEbabledに包含される(マニュアルにもあるし、実際に試したらそうだった)
から、全然意味ないじゃーん、となったわけ。

こんなことでMCなんか作りたくないし、ましてステートを変えるだけのために
MOUSE_OVERとかのイベントを張るなんてアホらしいっしょ?
なので、サクっとスマートな実装ができないものかなと、ここのエロイ人に聞いたわけさー。

577 名前:Now_loading...774KB mailto:sage [2012/04/06(金) 13:29:56.43 ID:GEbRgcxN]
マウスに反応してなにか変えるためにはマウスイベント必須だし、SimpleButtonも内部でそうしてる
そのためにInteractiveObject継承してる

つまりアホらしくなく正当だしサクッとスマートな実装がSimpleButton

なにが嫌なの?
イベントが伝わると不都合があるとかならそれなりの対処法はあるけど
単にイベントリスナ書くのが嫌とかなら無理


578 名前:Now_loading...774KB mailto:sage [2012/04/06(金) 13:37:59.60 ID:K98N1uph]
できないのかー。
ステージにaddChildしたSpriteの中にいろんなクリック対象があるんだけど
それぞれにいちいちaddEventListener()するのはバカみたいだからさ、
SpriteにだけaddEventListener()して、Event.targetで振り分けたかったんだよね。
でも、中のSpriteがさらにSimpleButtonを入れ子にしていて、
Spriteのデータを取りたいんだけど、SimpleButtonがイベントを受け取っちまうでしょ?
で、Event.targerがSimpleButtonになるでしょ?
これで親を取るのは、Event.target.parentとかになるけど、それは美しくないと思ったのよ。
イベント伝播を制御するのが本筋じゃん? ってな具合に。

まぁできないならしょうがない、地味にやるわー。ありがほー。

579 名前:Now_loading...774KB mailto:sage [2012/04/06(金) 20:40:58.14 ID:E88h9poy]
mouseChildrenがお望みのプロパティじゃねーかな

580 名前:Now_loading...774KB mailto:sage [2012/04/06(金) 21:09:20.85 ID:GEbRgcxN]
俺もそう思ったけどmouseChildrenがfalseだと中のSimpleボタンの表示が変わらない疑惑

そもそもtargetにしてまとめてとってきて分岐ってのが本筋から外れてると思うのでparent使っても同じ筋なんじゃね



581 名前:Now_loading...774KB mailto:sage [2012/04/06(金) 22:09:37.41 ID:8mEm55IX]
>>578
お前さんの考え方そのものが間違ってる

>それぞれにいちいちaddEventListener()するのはバカみたいだからさ、
まずこれの時点でおかしい

>これで親を取るのは、Event.target.parentとかになるけど、それは美しくないと思ったのよ。
いや、それ以外の方が美しくなくなるけど


ていうかかにがやりたいの?

582 名前:Now_loading...774KB mailto:sage [2012/04/06(金) 22:15:47.68 ID:8mEm55IX]
で、軽くエスパーすると
useCaptureをtrueで望みの処理が出来るんではないかな

けど考え方を改めた方がいいと思う

583 名前:Now_loading...774KB [2012/04/07(土) 16:37:11.55 ID:mq81Q+5R]
すみません。ActionScriptの文法について質問です。
var a = new ClassName();の他に
var a = ClassName();という使い方があるのでしょうか?

今直しているソースで下のような書き方が有るのですが…。

584 名前:Now_loading...774KB [2012/04/07(土) 17:01:13.44 ID:mq81Q+5R]
すみません。言葉足らずでした。
var file:FileReference = FileReference(event.target);
という書き方です。文法的にどういう意味になるのでしょうか。

585 名前:Now_loading...774KB mailto:sage [2012/04/07(土) 17:26:29.08 ID:LAjyDbLL]
型のキャストだな

586 名前:584 mailto:sage [2012/04/07(土) 18:23:33.68 ID:mq81Q+5R]
ああああああああそういうことか・・・・

(ClassName) object というJava式になれていたので全く気づきませんでした。
ありがとうございます。

587 名前:Now_loading...774KB mailto:sage [2012/04/07(土) 19:35:17.81 ID:0ql0luqn]
as3の質問です
問題に解答するテキストフィールドに答えを書き込んで、答え合わせのボタンを押して正否を判定するクイズゲームを作っています
正否を判定する条件に

if (kaitou.text == "あいうえお")

と記述しているのですが、例えば答えが「あいうえお」だとして、「あいう」でも正解にしたいのですが

if (kaitou.text == "あいうえお" || kaitou.text == "あいう")

以外の記述方法はありませんか?
できれば「いうえ」とか「うえお」でも正解にしたいので、模範解答に対して部分一致でも正解にしたいのです
それとも地道に正解を一つずつ追加するしかないのでしょうか

588 名前:Now_loading...774KB mailto:sage [2012/04/07(土) 19:59:14.69 ID:Zu41fSzD]
Stringにパターン一致探すメソッドがある
正規表現学べ

589 名前:Now_loading...774KB mailto:sage [2012/04/07(土) 20:08:15.79 ID:0ql0luqn]
ありがとうございます。どういう用語で検索して調べれば良いのかわからなかったので助かりました

590 名前:Now_loading...774KB mailto:sage [2012/04/07(土) 20:19:08.35 ID:Zu41fSzD]
>>589
公式リファレンスのStringクラスのところ見ると求めてるものが見つかると思う



591 名前:Now_loading...774KB [2012/04/08(日) 21:38:59.05 ID:dU8wnbdg]
 Ubuntu Linux上でhaXe-2.07を使ってflashの勉強をしています。
最初はどこでもキー入力が受け付けられるのに、
一旦TextFieldをクリックすると、TextField以外でKeyboardEventを拾うことが
できなくなる、という症状に悩んでいます。
 TextField以外の場所をクリックした後に再びKeyboardEventを取得するには
どうすれば良いのでしょうか?

ソースとflashは以下です。
ttp://atto.s2.pf-x.net/cgi-bin/up/img/6155.txt
ttp://atto.s2.pf-x.net/cgi-bin/up/img/6156.swf

若干文法が違うとは思いますがよろしくお願いします。

592 名前:Now_loading...774KB [2012/04/10(火) 21:48:49.05 ID:9xuuTtsJ]
どうやらIMEの設定が不足していたみたいです。
iBus flashで検索して設定をちゃんと書き込めば直りました。

593 名前:Now_loading...774KB mailto:sage [2012/04/12(木) 13:45:10.71 ID:hozTVwsb]
AcitonScriptの最高技術
www.kerockets.jp/editors/

594 名前:Now_loading...774KB mailto:age [2012/04/12(木) 13:59:24.67 ID:TzNqaHV9]
AS3、flashdevelop

画像をバラバラにしたいです
shapeに四角形を描いて、それをガラスが割れたみたいにバラバラにして
破片ごとに新しいshapeかbitmapdataを作成する、ということをしたいですのですが

四角に切り抜くするサンプルは見つかったのですが
好きな形に切り抜く方法が分かりません

今考えている代案は、最初からバラバラな形で描くと言うものですが
後々は画像にも同じことをしたいと思っているので微妙なところです

よろしくお願いします


595 名前:Now_loading...774KB mailto:sage [2012/04/12(木) 14:22:38.66 ID:ajVQA8mI]
maskで好きな形に切り抜けばいいんじゃね

596 名前:Now_loading...774KB mailto:sage [2012/04/12(木) 14:38:33.79 ID:TzNqaHV9]
>>595
ありがとうございます!
maskで探したら良さ気なサンプルが見つけられました


597 名前:Now_loading...774KB [2012/04/17(火) 20:28:17.84 ID:9UNzoBPd]
as3でFlash名の中にYouTubeの動画を表示したいのですが、
何かいい方法はないでしょうか?


598 名前:Now_loading...774KB [2012/04/17(火) 20:31:10.06 ID:9UNzoBPd]
>>597
Flash名の中に ではなくて FLASHの中にでしたすみません

599 名前:Now_loading...774KB mailto:sage [2012/04/18(水) 10:37:37.28 ID:5aYsG+5q]
ここ見てがんばれ
ttps://developers.google.com/youtube/flash_api_reference?hl=en

600 名前:Now_loading...774KB [2012/04/20(金) 01:02:09.73 ID:6xcaOgq0]
PC:WinXP,AIR1.5〜

AIRの場合のSharedObjectファイル(solファイル)の保存先ってどこでしょうか?
SWFならPCでは ttp://acehikaru.blogspot.jp/2008/11/sharedobject.html にあるような
localhostの中だったのですがここではないようです。




601 名前:Now_loading...774KB [2012/04/20(金) 16:10:25.06 ID:m0RoUjJO]
しかしほんと過疎ったね
ほんと終わりそう

602 名前:Now_loading...774KB mailto:sage [2012/04/21(土) 14:05:06.56 ID:tMwIf4EO]
>>599
ありがとうございます。
紹介されたサイトを参考にして何とか再生まではできたのですが
このプレイヤーに再生停止等のボタンを付けることは可能でしょうか?
何度も質問すみません

603 名前:Now_loading...774KB mailto:sage [2012/04/21(土) 17:08:33.08 ID:7hMF4b3t]
FlashCSとかなら、動画プレイヤーのコンポーネントなかったっけ?

604 名前:Now_loading...774KB mailto:sage [2012/04/21(土) 21:26:30.20 ID:bJKNukWH]
>>601
あいぽんとかAndroidとかの開発に行っちゃったんじゃない?

605 名前:Now_loading...774KB [2012/04/23(月) 16:00:17.82 ID:hszY04Nm]
FLASH CS5.5
Action Script 2.0
ムービークリップに、インベーダーのような動きをさせるスクリプトを打ちたいのですが、全然分かりません
ある程度できたのですが、
・集団の端が画面の端に着くと、一段下に下がる
・数秒に一回インベーダーがビームを打つ
の2つがどうしてもできません。

誰か教えてください。

606 名前:Now_loading...774KB mailto:sage [2012/04/23(月) 16:10:49.97 ID:ybG6qnWZ]
定期的にイベントを発生させるのは setInterval関数 でやればいいんじゃないか

607 名前:Now_loading...774KB mailto:sage [2012/04/23(月) 16:26:11.04 ID:WkS8XlBv]
>>605

本当のインベーダーみたいに砲台で打つとインベーダー消せたりするの?
それが無いんだったら簡単。
あるんだったら、残りのインベーダーを配列管理して、最左、最右のインベーダーの位置を
イベント毎に調べて、それぞれ最左、最右にいった時にY軸のプロパティ値を更新するということが必要

取りあえずどっち?



608 名前:Now_loading...774KB [2012/04/23(月) 16:36:12.34 ID:hszY04Nm]
>>607
消せるものを作る予定です。

それと、Action Scriptの勉強は、本でするのと、webサイトでするののどちらが良いですか?

609 名前:605 mailto:sage [2012/04/23(月) 17:31:11.59 ID:WkS8XlBv]
>>608

勉強は本が良いです。
ネットで十分とかいう人いるけど、本は編集されているから、
自分のレベルに合わせて順繰りに学べるから良いです。
ただ、そのとき知りたい情報では無いことまで学ばないといけないので時間のない人には向きません。

ネットはピンポイントに知りたい情報にたどり着くことができる可能性があるのだけど、
自分のレベルに合っていないサイトだと何書いてあるのか判らないことがあるのでストレスがたまる。

自分の時間と経済状態に合わせて好きな方を選べば良いと思う。
ちなみに、どうしてAS2なの?
今、AS3が主流だから、AS2の情報探すの本もWEBも面倒だよ。

AS3で開発の方が良いと思う。別に難しくないよ。
取りあえず、オススメのサイト
つ ttp://hakuhin.jp/as.html

610 名前:Now_loading...774KB [2012/04/23(月) 17:35:28.43 ID:hszY04Nm]
>>609
やっぱ本が良いんですね。

このサイトを見て、AS2の方が簡単そうだったので、2を使い続けているだけなんですけど・・・
やっぱりAS3の方が良いですかね?



611 名前:Now_loading...774KB mailto:sage [2012/04/23(月) 18:41:27.74 ID:Oc3pkChj]
>>610
AS2.0のメリット?
・AS2.0は、アバウトな部分があるので、ある程度適当にやっても動く

AS2.0のデメリット
・AS3.0より遅い
・AS3.0よりできることが少ない
・AS3.0ほど充実したライブラリがこの先望めない
・AS2.0使ってた人も、3.0に移行してしまって、今更2.0の質問をしても
答えがすぐに返ってこない可能性がある
・上記の悪条件に辟易してあとから、やっぱAS3.0にするわ!と思ったら
作り直し、勉強し直しになる

612 名前:Now_loading...774KB mailto:sage [2012/04/24(火) 00:55:32.87 ID:kKVCbPZO]
ASいつまで持つんだろう
CS6から、Flash Builderがマスターコレクションのみにバンドルになってしまった

613 名前:Now_loading...774KB mailto:sage [2012/04/24(火) 10:00:48.28 ID:nb5zYMAN]
凝ったものつくらないのならAS2でいいんでね

614 名前:Now_loading...774KB mailto:sage [2012/04/24(火) 11:07:02.71 ID:C6oeCEbh]
AS3の方が良いよ。
C#の文法にも似ているから、Unity3Dとかでゲームつくりたいってなった場合、
移行のための学習コストが低い。

また、便利なライブラリー群もAS3のモノが多いし

615 名前:Now_loading...774KB [2012/04/24(火) 17:06:35.88 ID:gG7x7Ryv]
AS2のメリット
Google Swiffyでほぼ完璧にHTML5変換してもらえる

↑これはでかい

616 名前:Now_loading...774KB mailto:sage [2012/04/24(火) 17:46:11.95 ID:eripB49l]
as2とjsはおなじもんだしなー

617 名前:Now_loading...774KB mailto:sage [2012/04/24(火) 18:38:11.16 ID:C6oeCEbh]
同じって、何が!?

618 名前:Now_loading...774KB mailto:sage [2012/04/24(火) 18:57:45.46 ID:l5T3yhxs]
いくーま的にだろ

619 名前:Now_loading...774KB mailto:sage [2012/04/24(火) 19:00:40.29 ID:eripB49l]
ごめん結構違ってた!w

620 名前:Now_loading...774KB [2012/04/26(木) 13:16:20.95 ID:tMpu8YUq]
as3について
TextFieldのinputでキャレット位置を操作したいんですが、
read onlyのcaretIndexしかないようで。

特定のkeyboardEventでTextFieldのキャレット位置を行頭に持って来たいんですが
何か方法ありませんかね?



621 名前:Now_loading...774KB mailto:sage [2012/04/26(木) 13:24:57.80 ID:oneMJ4xx]
頭ならフォーカス外してフォーカスし直せばいけんじゃね?

622 名前:Now_loading...774KB [2012/04/26(木) 18:37:32.18 ID:9/JqxxPn]


623 名前:Now_loading...774KB [2012/04/26(木) 18:38:35.54 ID:tMpu8YUq]
>621
ありがとうございます。
focus外し直すと、fieldはfocusされるんですがキャレットが表示されません...
「キャレットを行末に」等の制御も行いたいのですが、
方法が見当たりません。
Flashだとむずかしいんですかね?

624 名前:Now_loading...774KB [2012/04/26(木) 19:23:31.34 ID:ZiMV1wx+]
ちょっと質問させてください。

AS3でウェブページへのリンクをしたいんですが、どうもうまくいきません。
meisai_btnを押すとヤフーへ飛ぶようにしたいのです。

   // イベントを設定
  meisai_btn.addEventListener( MouseEvent.CLICK , onClick );
  // 画面クリックをするとonClickが動作するイベント
  function onClick ( event:MouseEvent ) {
  // URLRequestを設定
 var url:URLRequest = new URLRequest( "www.yahoo.co.jp/" );
 // 実際にページに飛ぶ
 navigateToURL( url );
  }

どこが間違っているか教えてください。

625 名前:Now_loading...774KB mailto:sage [2012/04/26(木) 20:07:26.08 ID:mTmiWzFd]
>>623
setSelection(beginIndex:int, endIndex:int)でbeginIndexとendIndexを同じ値渡せば出来る

626 名前:Now_loading...774KB [2012/04/27(金) 10:32:34.15 ID:5kyXXNE4]
スレチかもしれませんが質問させて下さい。

現在ActionScript2.0でWeb用のFLV/MP4プレイヤーを制作しています。
YouTubeやXVIDEOのプレイヤーのシーク仕様(データ未ロードの箇所にポインタを置くと、そこから再ロードを行う)は
どのようにして実現しているのでしょうか?

現状の制作中プレイヤーのシーク動作としては、
・FLV再生の場合、未ロードの箇所をシークしようとすると、現在ロード済みのデータの先頭に再生ヘッドが移動します。
・MP4再生の場合、そのポイントで再生が一時停止し、データの読み込みを待機するような動きになります。
(あくまでデータの読み込みを待機しているだけで、そこからの再ロードではない)

プレイヤー(ActionScript)だけで実装できるものではなく、FMSなどの導入が必要なのでしょうか?



627 名前:Now_loading...774KB mailto:sage [2012/04/27(金) 10:53:09.48 ID:DC/OzV5+]
うん

628 名前:Now_loading...774KB [2012/04/27(金) 11:17:41.72 ID:5kyXXNE4]
>>627
やはりFMSが不可欠なんですね。
最近はそのシーク仕様ではないと使えないという風潮があり、対応はしなければならないと思いつつも。
YouTubeやXVIDEOはいざ知らず、FMSを導入するとなるとコストパフォーマンス的にどうなのだろう?もっと別の方法があるのではないか?
と試行錯誤していましたが、それが大前提であるならば、ひとまずは前向きに検討したいと思います。

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



629 名前:Now_loading...774KB [2012/04/27(金) 13:23:06.87 ID:ZeYVSZtg]
>623
ありがとうございます!!
TypeがinputのTextFieldが一つしかないとどうしてフィールド全体をFocusしてしまったので、
width,height共に0のフィールドを作成し、FocusEventでfocus戻すことで対応できました!
これが最善とは思えませんがwww
助かりました。

630 名前:Now_loading...774KB mailto:sage [2012/04/30(月) 21:34:30.16 ID:VzVdili/]
AS3でMCの親子を4階層作って
○○.○○.○○.○○.gotoAndPlay("△");
で動かそうとするんですけどできません
親子階層の限界とかあるんですか?
それともほかに間違ってるのかしら



631 名前:Now_loading...774KB mailto:sage [2012/04/30(月) 21:45:31.44 ID:92doBqjr]
Flash Builer4.6でアンドロイドアプリを造ってます

ビルダー上のエミュレーターで動作させるとき、スワイプってどうやったら良いんですか?
エミュ上でドラック時ながら動かしてもイベントが飛んでこなくて、
そこだけ今は実機に転送してテストしてます

632 名前:630 mailto:sage [2012/04/30(月) 21:49:17.15 ID:VzVdili/]
すいません自己解決しました

633 名前:Now_loading...774KB mailto:sage [2012/05/01(火) 00:09:06.50 ID:LezHmbmY]
マルチすみません

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


<s:List x="0" y="124" width="100%" height="100%">
<s:itemRenderer>
<fx:Component>
<s:IconItemRenderer labelField="WearName" messageField="LastName" iconField="photo" decorator="@Embed(source='assets/decorator.png')"/>
</fx:Component>
</s:itemRenderer>

<s:ArrayCollection>
省略
</s:ArrayCollection>
</s:List>

このようなリストを作成したとして、
1つ目の項目をタッチしたら指定したmxmlコンポーネントへジャンプ
2つ目の項目を(ry
ということはできますか?またどう記述すればよいですか?


634 名前:Now_loading...774KB [2012/05/01(火) 02:15:36.43 ID:7TdUJy1F]
AIR2.0,WinXP,FlashCS5

結合配列(連想配列)の値の検索はどうすれば良いでしょうか?
例えば
arr0.push({name:"野田", age:55});
arr0.push({name:"鳩山", age:65});
arr0.push({name:"菅", age:66});
arr0.push({name:"小沢", age:70});

とあったとき、arr0.nameより"鳩山"を検索してそのインデックスを
取得する感じです。


635 名前:Now_loading...774KB mailto:sage [2012/05/01(火) 02:45:27.75 ID:NcrOz4h/]

var key:String = "鳩山";

for (var i:int = 0; i < arr0.length; i++) {
if (arr0[i].name == key) {
trace("index: " + i.toString());
break;
}
}

こんなんじゃダメでしょうか

636 名前:634 mailto:sage [2012/05/01(火) 03:00:36.36 ID:7TdUJy1F]
>>635
さんきゅう。
それは考えましたが、もっとシンプルな記述はないかと思ってます。
(適当ですが)arr0.name.idexOf("鳩山") のような書き方です。


637 名前:Now_loading...774KB mailto:sage [2012/05/01(火) 04:05:33.07 ID:NcrOz4h/]
うーん わからないですけどカスタムメソッドつくらずに1行で書けるなら楽だなぁ

638 名前:Now_loading...774KB mailto:sage [2012/05/01(火) 05:37:17.54 ID:M3lb2ciT]
>>630
他に間違ってんだろ
限界はあるけどそんなレベルではない

>>634
XMLつかえば?


639 名前:634 mailto:sage [2012/05/01(火) 07:50:51.13 ID:7TdUJy1F]
>>638
結合配列でXMLを使う場合のヒントをお願いします。


640 名前:Now_loading...774KB mailto:sage [2012/05/02(水) 12:58:05.36 ID:EXYAHWJ1]
>>634
Objectじゃいかんの?



641 名前:Now_loading...774KB mailto:sage [2012/05/03(木) 15:07:58.99 ID:cZqm41YK]
>>631
ビルダー上のシミュレーターではスワイプなどは実現出来ないので大人しく実機でデバッグしてください
もしかしたらタッチパネル液晶なら出来るかもしれないけど

642 名前:Now_loading...774KB [2012/05/07(月) 16:43:14.27 ID:8457Fa+0]
おしえてください。flash CS5.5です。写真ギャラリーを作ろうとしてます。

まず、サムネイルが4つあって、それぞれボタンクリックでそれぞれの大きな写真が表示される仕組みです。
大きな写真は、1つのMCの各フレームに貼付けてあり
サムネイル1をクリックするとMCのフレーム1、サムネイル2をクリックするとMCのフレーム2
というふうに表示するようにしました。そこまでは成功。
さらに、MC内にnextとprevボタンもつけました。
nextとprevボタンはフレーム1〜フレーム4、nextとprevのアクションをフレーム1〜フレーム4
というふうにしました。が、問題発生。
サムネイル1から飛んだ場合はnextとprevボタンはちゃんと機能します。が、サムネイル2や3や4から飛んだ場合nextとprevボタンがまったく効きません。なぜでしょうか。
-----------------------
サムネイルのスクリプト
-----------------------
ボタン1.addEventListener(MouseEvent.CLICK,クリックボタン1);
function クリックボタン1(event:MouseEvent):void{Object(this).大きい画像のMC.gotoAndStop(1);}
ボタン2.addEventListener(MouseEvent.CLICK,クリックボタン2);
function クリックボタン2(event:MouseEvent):void{Object(this).大きい画像のMC.gotoAndStop(2);}
-----------------------
nextのスクリプト
-----------------------
nextボタン.addEventListener(MouseEvent.CLICK, nextボタンでNextFrame);

function nextボタンでNextFrame(event:MouseEvent):void
{
this.nextFrame();
}



643 名前:Now_loading...774KB mailto:sage [2012/05/07(月) 16:55:48.06 ID:2abxJpsH]
好みによるけど、next/prevボタンがmovieclipならそのなかの1フレーム目に書くのでもいいかと

/* nextボタン内のスクリプト */

this.addEventListener(MouseEvent.CLICK, onClickH);

function onClickH(event:MouseEvent):void
{
MovieClip(this.parent).nextFrame();
}

644 名前:642 mailto:sage [2012/05/07(月) 17:22:43.44 ID:8457Fa+0]
>>643
ありがとうございます。
うまくいきました!!!
でも、なんで>>642だと機能しないのでしょうか?
とりあえずこれで作れそうです。
どうもどうもありがとうございます。


645 名前:Now_loading...774KB mailto:sage [2012/05/07(月) 17:42:14.51 ID:2abxJpsH]
関数の定義とかはMovieClip内全体で有効だけど何かを実行したりするのはそのフレームを通らないといけないような気がする

646 名前:642 mailto:sage [2012/05/07(月) 17:48:36.48 ID:8457Fa+0]
ん〜〜〜〜使い分けよくわりませんw
結論、基礎から勉強しないと結構つまずきますってことですね。了解です。

647 名前:Now_loading...774KB mailto:sage [2012/05/11(金) 19:21:29.69 ID:maZotnVS]
質問させてください。

下記のサイトの文字の動きをスクリプトでやりたいのですが
gzone.jp/product/index.html
※文字がぶれる動きです。

どんなクラスを使用すれば作成できるのでしょうか
サンプルコード等がある参考になりそうなサイトでも大丈夫です。

曖昧な質問で申し訳ないのですがよろしくお願いします。



648 名前:Now_loading...774KB mailto:sage [2012/05/11(金) 19:50:53.12 ID:QDQCxwyx]
スクリプトでやるとしたらDisplacementMapFilterでごにょごにょすれば出来そうだけど
文字が決め打ちなら別のソフトで作って持ってきても良いきもする

649 名前:Now_loading...774KB [2012/05/14(月) 12:16:34.55 ID:iqdrI0JD]
>>647

つttp://hakuhin.jp/as3/display_obj.html

650 名前:Now_loading...774KB [2012/05/14(月) 12:53:41.49 ID:5YgKDNZK]
ちょいと質問(AS3)
フレームが変わって同じインスタンス名だが別シンボルのMCを検出する時
同じ構造なのに孫MCがなぜか検出できん なんでだろ?

メインタイムライン上にoyaMCがフレーム移動 oyaMCの中で koMCがフレーム移動 koMCの中にmagoMCがある
koMCが別シンボルに変わった直後にmagoMCがnullになる しかしkoMC自体は参照できる
移動直後はnullになるならなぜkoMCは参照できるのか??
1こ前のフレームの参照が残っているためか? しかし同じ構造なのでnullにはならないはずじゃない?



651 名前:Now_loading...774KB mailto:sage [2012/05/14(月) 13:26:00.47 ID:5YgKDNZK]
あーわかったかも
親の中の子がトゥイーン最中でキーフレームが無い位置だと孫が検出できないとかそんな関連か?
詳しい人がいたらご教授よろっす

652 名前:Now_loading...774KB mailto:sage [2012/05/15(火) 12:56:51.71 ID:05nW6grb]
「同じインスタンス名だが別シンボルのMC」っていうのがどういう状況かわからん
同じ構造のFLA作ってアップすんのがはやそう

653 名前:650 mailto:sage [2012/05/15(火) 13:10:49.81 ID:yPoOfqh/]
お スレチェックしたとたんレスがw
状況?
例えば headMCという人の頭のMCだと内部に正面向いてるシンボルと斜め横向いてるシンボルが
faceMCというインスタンス名で1フレームと2フレームに配置
faceMC内は口アニメや目のまばたきなんかで再生ヘッドが回り続けている
正面顔MCと斜め横MCは同じインスタンス名で別シンボル 構造は(だいたい)同じ って事っす

で 子MC(faceMC)が回り続けてると孫MC(例えば帽子MC等)にアクセスし辛いという問題
ネストが深かったり複雑な構造だと参照がむずいね

654 名前:Now_loading...774KB mailto:sage [2012/05/15(火) 13:19:08.78 ID:ryUCaiVa]
>>653
フレームアクションの実行される順序が遅い等の理由で、
MC参照した時にはまだMCそのものがnewされてないとか
そんな感じじゃね?

タイムラインとの併用は、そういう点でいろいろ面倒くさいよ

655 名前:Now_loading...774KB mailto:sage [2012/05/15(火) 16:05:44.37 ID:aViScq1q]
flashからAS3.0を使っていて
地図上でAというボタンをクリックするとBが表示され
BをクリックでBが非表示になるという物が作りたいのですが
BをクリックでB自体には、removeChildを出来ないことまでは分かりましたが
どのような記述なら可能なのかが分かりません
ご教授お願いします

656 名前:Now_loading...774KB mailto:sage [2012/05/15(火) 16:17:07.08 ID:jg5/YWZw]
Bをシンボル化して適当なインスタンス名をつけて
Bをクリックする処理の中に

インスタンス名.visible = false;

を入れればBをクリックでBが消えるようになるはず
ちなみに

インスタンス名.visible = true;

だと表示になる

657 名前:655 mailto:sage [2012/05/15(火) 17:44:58.09 ID:aViScq1q]
>>656
できました、ありがとう!

658 名前:Now_loading...774KB mailto:sage [2012/05/16(水) 03:33:35.07 ID:nhKBQhho]
>>653
フレームアクションはどこに書いてるの?

659 名前:Now_loading...774KB mailto:sage [2012/05/16(水) 12:31:41.76 ID:mROV/zRb]
AS3.0を使い始めの初心者です
ステージ上にある「表示」ボタンをクリックで図をaddchildして(ボタンや図は複数あります)
「非表示」ボタンをクリックするとremovechildといった物が作りたいのですが

シーン 1, レイヤー 'Actions', フレーム 1、行 53 1067: 型 Function の値が
関連しない型 flash.display:DisplayObject に暗黙で型変換されています。

というエラーが出てうまくいきません
53行目に打っているのは下の物なのですが、
removeChild(fl_taib);

どのようにすればエラーが出なくなるのでしょうか、よろしくお願いします

660 名前:650 mailto:sage [2012/05/16(水) 13:05:04.69 ID:/fH3m7n9]
>>658
フレームには複雑な処理は書かずメインクラスのenterFrame部でまとめて処理してる

>>659
非表示って事はま再び表示する可能性が高いんじゃない? ボタン.visible = false; で
一時的に消しておけば? 画面移行なんかで完全に削除したいなら
addChild( @@@ ); した時と同じインスタンス名 もしくは同じ参照変数で removeChild( @@@ );
フレームに直接書くのとクラスファイルでは書き方も違うかも その情報でははっきりわからん



661 名前:Now_loading...774KB mailto:sage [2012/05/16(水) 14:05:59.79 ID:8AEIxPF/]
>>659
そのエラー通りに受けとれば、fl_taibがFunctionなんじゃないの?

662 名前:Now_loading...774KB [2012/05/16(水) 18:19:47.13 ID:69vlpoWj]
AS3(AIR2.0),WinXP,FlashCS5です。
ステージ上に置いたMC(graphMC)の子として2個の円グラフMCを設置したのですが、
graphMC.numChildren にて子の数は2個と表示されるものの、プレビューでも単独SWF
として起動しても実体として現れません。

ところが、SWFウインドウ以外の一旦画面の別の部分をクリックしてSWFを非アクティブに
して再度SWFをクリックすうるとプレビューおよび単独SWFで2個の円グラフが現れます。
※つまり、アクティブ→非アクティブ→アクティブで表示

この現象で考えられる原因は何でしょうか?

円グラフは各9個の扇形MCを持ってはいますが、SWF自体の負荷はファンの唸り声から
察するに大したことは無いようです。

SWFアクティブ時の処理は下で出来ますが、どう使えば良いのか分かりません。
stage.addEventListener(Event.ACTIVATE, activateHandler);
function activateHandler(event:Event):void {
// 処理
}

アドバイスよろしく願います。


663 名前:Now_loading...774KB [2012/05/17(木) 22:51:49.69 ID:r4+1D3k7]
win7 flashCS4 AS3.0です。

MCに外部画像を読み込ませるflashを作っています。
ステージ上配置したMCに読み込ませるのはできたのですが、
MCを、addchildさせると、
var urlReq:URLRequest = new URLRequest(PhotoUrl);
このへんでエラーが出ているようです。
addChildして生成した場合には変数の受け渡しを変えなければならないのでしょうか?
よろしくお願いいたします。


664 名前:Now_loading...774KB mailto:sage [2012/05/17(木) 23:44:08.25 ID:RdQxVoBl]
エラーの説明が出るとおもうんだけど

665 名前:Now_loading...774KB mailto:sage [2012/05/18(金) 10:16:51.73 ID:ri9dXoKJ]
>>662
その不具合は別の要因によるものっぽいな
そもそもコードは全部自分で書いたの? 何かのサンプルを元にしたなら内容を理解してない為
他の処理が不具合を引き起こしているのがわからない …とエスパー解答してみたぜ!

666 名前:Now_loading...774KB [2012/05/18(金) 22:49:36.55 ID:n/3VEiVe]
AS3です(CS4)。include文でのAS名の変数化ってそもそも可能なのでしょうか?

include "xyz01.as"; はOKでしたが、下記で試すとエラーになります。

var hoge:Object = new Object();
hoge.asFile = "xyz01.as";

include hoge.asFile;
1084: シンタックスエラー : stringliteral が hoge の前に必要です。

また単に、
var str:String = "xyz01.as";
include str;
としても駄目でした。

目的は変数化して状況に応じて自由にincludeさせることです。


667 名前:Now_loading...774KB mailto:sage [2012/05/18(金) 23:04:31.68 ID:e/U06ha/]
無理でしょ
includeはswfが作られる時に処理されるものであって、実行時に処理されるものではないから

668 名前:Now_loading...774KB mailto:sage [2012/05/18(金) 23:52:47.76 ID:MNyStys+]
無理だろうな
そんな使い方を普通しないし

669 名前:662 mailto:sage [2012/05/19(土) 00:38:16.45 ID:+8Syis+5]
>>665
どうも。
円グラフを構成する扇形はsketchbookというライブラリで描いています。
もしかしたらこれが親(graphMC)と相性が悪いのではと思い、適当に描いた
三角形の単純MCを扇形の代用に使ったところ即表示できました。
もっと他に試してみます。


670 名前:Now_loading...774KB mailto:sage [2012/05/19(土) 01:22:18.68 ID:fzZ+WuxO]
>>667-668
う〜む、無理ですか。了解。









[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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