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

このエントリーをはてなブックマークに追加
1Now_loading...774KB
AcitonScriptのことなら
初歩的な質問でもなんでもおk

見れない、保存したい、flashを作りたいはスレ違い
下記の関連スレ、超基本的な質問へ。

●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ29
http://toro.2ch.net/test/read.cgi/swf/1309349827/

関連スレ
Flashの超基本的な質問はここでしろ! part42
http://hibari.2ch.net/test/read.cgi/swf/1305783143/
※初心者は↑こちら推奨

ActionScript ライブラリ総合
http://hibari.2ch.net/test/read.cgi/swf/1308658905/
2Now_loading...774KB:2011/12/27(火) 10:47:50.98 ID:htJJYGSo
いちおつ
3Now_loading...774KB: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;
4Now_loading...774KB:2011/12/27(火) 22:23:27.06 ID:W0UWpmkT
AS3,CS4でタイルリスト(TileList)のスクロールで質問です。
SWFはうpしています。
http://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 で位置を把握し、戻ったスクロール位置を再度設定する
方法を考えましたが、もっと良い方法を探しています。
※というか、何故も初期化?(元に戻る?)

何かアドバイス願います。
54:2011/12/27(火) 22:32:31.37 ID:W0UWpmkT
(追記です)
UpしたSWFの右上のボタンを押すとmcAに内包されたTileListが表示されます。

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

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

ちなみに、昔から使っていたSWFアップローダー http://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
6Now_loading...774KB:2011/12/28(水) 04:00:54.46 ID:ugTVkTwl
>>3
サイズ取得って、当たり判定とか取るの?
とりあえず一番簡単な方法は、表示用のMCとサイズ取得用のMCを宣言すること。

場合によるけど、フィルターをかける場合はBitmapDetaに一旦落としてそいつにかけると軽いよ。
特に、ほとんどフレームが変わらないMCや、大量に同じMCを使う場合に置き換えると効果が高いよ。
書込み元のMCはaddChildしてなくても、BitmapDetaには書き込めるので、表示する必要はなし。
詳しいやり方は、「AS3 プリレンダリング」でググればいい。
7Now_loading...774KB:2011/12/28(水) 08:32:49.60 ID:pzC+GiYp
>>6

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

>場合によるけど、フィルターをかける場合はBitmapDetaに一旦落としてそいつにかけると軽いよ。
忠告どうもです
プリレンは一度試したいと思っていたので、この機会に勉強してみます
84&5:2011/12/28(水) 08:36:52.18 ID:mF2anYSO
(TileListのスクロールについて)
色々試しましたがやっぱり変な動作をします。

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

とりあえず回避策で対処しました。 ありがとうございました。
9Now_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 は定義されていません。
という警告がでました。

どうしたら良いでしょうか?
10Now_loading...774KB:2011/12/28(水) 09:08:26.15 ID:ugTVkTwl
>>9
なぜ、MovieCripをClassに代入?
(継承元のため)Objectには代入できるけど、これではだめ?
あなたの実装でClassに代入する理由を教えてください。
119: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を随時変更して使いたいから型変換したい」ということです。
12Now_loading...774KB:2011/12/28(水) 20:34:06.92 ID:ar+LjL/8
変換とかしなくても、constractorプロパティを入れてやればいいんじゃねーかな
sheetProp[0].source = mc0.constractorてな具合に
139&11: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のようです。

以上、お礼と報告まで。
14Now_loading...774KB:2011/12/28(水) 22:53:10.22 ID:ar+LjL/8
そりゃMovieClipクラス入れてもねぇ・・・何も出るわけ無いわ
そのRとかGってのは、MovieClipクラスを継承して作られたクラスであって
ただのMovieClipクラスとは別物だし
15Now_loading...774KB:2011/12/29(木) 17:53:44.36 ID:xY81hYht
FLASH DEVELOP上でflパッケージを使って、Combo Boxとかを使おうと思っています。

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

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

なぜだか分かる方いらっしゃいますか?PCには一応CS4が入っています。
16Now_loading...774KB:2011/12/29(木) 23:26:18.55 ID:E4qAQuF3
なんだよ一応って・・・・
17Now_loading...774KB:2011/12/30(金) 13:23:55.69 ID:Tmaz4Pku
またお邪魔しますモバイルAIRアプリをFLEXで作っている者です。

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

ちなみに自分で見つけたうちの一つdeactivateは画面が切り替わった時だけ、もう一つexitStateは多分ビューが破棄された後に出されているのでしょう。あるビューにそのリスナーを置いても反応が有りません。
18Now_loading...774KB:2012/01/01(日) 13:19:10.26 ID:eTMrIMfJ
すんません。教えてください。
画面にtextinputとlistを設置してtextinputに入力された値に応じて動的にlistの中身を変化させたいのですが
(googleなどで検索する時に途中まで入力すると検索候補が出てくるようなイメージです)
どうやれば実装できるのでしょうか?ヒントだけでもいいいので教えてください。
19Now_loading...774KB:2012/01/01(日) 17:42:27.45 ID:gDdxQNOZ
>>18
文字入力毎に発生するイベントを調べて見たら良いかもしれません。
20Now_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 用に
適切なものは何かありますか?
21Now_loading...774KB:2012/01/06(金) 10:15:02.05 ID:FO8EGtDC
それってエラー無く動いてるswfでダイナミックテキストからテキスト入力へ
クリック→ドラッグ選択、コピペしようとしてるって事?
実際に見ないとわからんな 現象が現れる最小限のコードでのswfをどっかにうpってみてよ
22Now_loading...774KB: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使用です。大変初歩的で申し訳ありませんが、教えていただけるとありがたいです。
23Now_loading...774KB:2012/01/06(金) 17:28:27.05 ID:poPEhRXu
importしなきゃならないやつなんでない?
24Now_loading...774KB:2012/01/07(土) 04:54:46.52 ID:c7tfT/o4
PNGEncoderはmxパッケージだろ
25Now_loading...774KB:2012/01/08(日) 08:16:27.76 ID:+r5EsgFW
Flash Lite 3.1 対応の携帯用に
電子辞書みたいな機能を持つswfを作りたいのです

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

ボタンにはこういうスクリプトが入っています
マウスでクリックしたらきちんと止まったのに
携帯上でボタンをタッチしても何も起きないですOTL
on (release) {
this.stop();
}
26Now_loading...774KB:2012/01/08(日) 11:34:26.29 ID:QYmZpzDY
よくわからんな そのケータイってスマホだよね?
スマホならPCと同じようにボタン(インスタンス)クリックで動作すると思うんだけど
2725:2012/01/08(日) 12:08:46.38 ID:+r5EsgFW
>>26
スマフォじゃないです
http://keitaiall.jp/930SC.html
です
2825:2012/01/08(日) 12:17:09.03 ID:+r5EsgFW
今少し状況が分かってきました
上下左右キーでフォーカスを動かしてOKボタンで停止させることは出来ました
ただ画面にタッチすると停止してくれないようですOTL
2925:2012/01/08(日) 12:44:54.01 ID:+r5EsgFW
http://help.adobe.com/ja_JP/AS3LCR/Flex_4.0/flash/events/TouchEvent.html#top
今アドビのサイト見てきたんですが
もしかしてFlash Lite 3.1ではまだタッチは使えないのでしょうか?
3025:2012/01/08(日) 13:41:09.46 ID:+r5EsgFW
なんかFlash Lite 3.1でタッチは使える様です
http://thinkit.co.jp/article/776/1
何で自分の携帯だと全然ボタンをタッチできないですかOTL
31Now_loading...774KB:2012/01/08(日) 14:28:49.29 ID:ViTYnIWC
>>30
ケータイがFlashのタッチに対応してないんじゃない?
32Now_loading...774KB:2012/01/08(日) 14:49:06.67 ID:QYmZpzDY
タッチ時のonイベント内でtraceさせても何も出ないの?
ダイナミックテキストエリアを画面内に作ってトレースしたい情報を出力して確認してみ

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

それからsuzukaってのが気になるw
3325:2012/01/08(日) 16:00:05.38 ID:+r5EsgFW
>>30
ああああああああああああぁぁぁぁああああOTL

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

文字を■にして文字の黒い部分を増やしてやってみましたけど駄目でした
3425:2012/01/08(日) 16:09:29.92 ID:+r5EsgFW
作ったのはこれです
ダウンロードパスはpです
http://loan.tf-bank.net/10MB/dl/1326006491.swf
35Now_loading...774KB:2012/01/08(日) 17:11:28.12 ID:QYmZpzDY
色々と勘違いしてるっぽいな 「通過」ってなんだおw マウスオーバーの事だろ?
ケータイにはマウスオーバーやロールオーバーの機能は無いじゃん
だからオーバー時のコードはケータイでは実行されない

あと基本的な事はハクヒンさんとこで勉強してくれ ttp://hakuhin.jp/
36Now_loading...774KB:2012/01/08(日) 18:49:22.79 ID:ViTYnIWC
>>34
flaでupしろよ
3725:2012/01/08(日) 22:12:22.54 ID:+r5EsgFW
>>35
とりあえずボタンの設定を全部入れてみたと言う感じでして・・・
http://iup.2ch-library.com/i/i0528853-1326028217.jpg

>>36
flaで出力する方法はまだ分からないです・・・。
38Now_loading...774KB:2012/01/08(日) 23:43:04.69 ID:ViTYnIWC
>>37
もしかしてAdobeFlashじゃない?
39Now_loading...774KB:2012/01/09(月) 00:51:20.52 ID:DryW2Xe+
おもいっきりsuzuka言ってるじゃん
40Now_loading...774KB:2012/01/09(月) 01:09:48.75 ID:c8uA6DBl
>>39
すまぬ

suzukaはflaファイルに出力できないの?
4125:2012/01/09(月) 02:33:32.83 ID://yupwrT
>>40
ごめんなさい、昨日初めてフラッシュ作ったばっかりなんで
ソフトの機能もまだよく分かってないです
メニュー見てもfla出力っぽいものはなさそうですし・・・
42Now_loading...774KB:2012/01/09(月) 11:11:30.54 ID:9BZgtuWJ
あるわけねえだろ…
43Now_loading...774KB:2012/01/09(月) 11:15:12.34 ID:c8uA6DBl
>>41
http://flapg.com/slot.swf
これは押せる?
44Now_loading...774KB:2012/01/09(月) 13:10:12.36 ID:X+iaJWwT
サウンド関連の質問でつ(AS3)
サウンドクラスを作成 通常サウンドとループサウンドの2種類があり
ループサウンドのみSoundChannelインスタンス、ボリューム設定メソッドをstaticにしてクラス名でアクセスしてます
ボリューム値も2種類用意しループサウンドはstaticにしてます

ループサウンドを再生中に通常サウンドを再生するとループサウンドの音量が若干下がります
インスタンス、ボリューム値を分けているにもかかわらずなぜ干渉してしまうのか?
もしかして全体の合計音量にMAXがあって自動で調整されてるって事なの?
45Now_loading...774KB:2012/01/09(月) 14:18:07.65 ID:jSHWDpi+
安藤優子、木村太郎は、某プロパイダの社外取締役、かつ、安藤は、フジ社外の人間にもかかわらず、フジテレビジョンのM&Aの最中、フジのホワイトナ
イトの【親会社】の本業を無視して、「インターネットは虚業だ。具体性がない
。」というようなことをコメントしました。この虚業は、livedoorを指していた
としても、「同業者」であったということは、非常に、違和感を感じずには、い
られません。
4625:2012/01/09(月) 22:39:06.71 ID://yupwrT
>>43
携帯でも
stopのボタンがクリックできます
47Now_loading...774KB:2012/01/10(火) 00:48:33.91 ID:Uuq9xi+Z
>>46
FlashLiteのASは1?2?

1ならon(release){であってて
2ならムービークリップ.onMouseDown=function(){
っぽい
4825:2012/01/10(火) 01:52:09.75 ID:KsJABN96
>>47
すいません
意味が良く分からないので調べてきます
有難うございます
4925:2012/01/10(火) 02:10:26.98 ID:KsJABN96
>>47
もしかして
Flash Lite 3.1 はActionScript2っていう仕様で作ればいいっていうことは
以前調べて分かってたんですが
その事でしょうか?
50Now_loading...774KB:2012/01/10(火) 08:22:13.97 ID:Uuq9xi+Z
>>49
そう
AS2で作ればいいと思う
FlashProでもFlashLite3.1は初期設定がAS2だから
AS1で作りたいなら設定を変えるかFlashLite1.1にするかしかないと思う
51Now_loading...774KB:2012/01/10(火) 11:17:01.34 ID:+w8Z+Gnf
ちょっとどこで聞いたらいいか分かんないので
ここで聞かせてもらいますが、wordpressで
swf上げたんだけど、その中で読み込むimageや
xmlのURLが指定してるのと変わってしまうみたい
なんだけどどなたか分かる人、教えて下さい。
5225:2012/01/10(火) 13:56:47.89 ID:KsJABN96
>>50
なんか、作るんなら
FlashPro買った方がいいのかと悩みますが
新しい携帯買ったらアンドロイドになるだろうし
そうしたらフラッシュじゃなくて他の言語で作りそうな予感・・・
うううううん・・・
5325:2012/01/10(火) 15:01:34.19 ID:KsJABN96
suzuka専用スレを見つけたんでas2行けるのかとか聞いてきます
54Now_loading...774KB:2012/01/10(火) 16:06:26.45 ID:5PGfSyea
アンドロイド向けのほうがAIRいいのに
55Now_loading...774KB:2012/01/10(火) 17:11:57.41 ID:Uuq9xi+Z
>>54
AIR重たくない?
56Now_loading...774KB:2012/01/10(火) 20:14:33.01 ID:x4ZlKWlM
つか静的なモノならHTMLとJavaScriptで作った方が早いんじゃないかと
5725:2012/01/10(火) 21:00:04.33 ID:KsJABN96
>>56
それも考えたんですけど
メーカーの方で
スクリプト設定をOFFにしておかないと個人情報が
どうのこうのという携帯の機種なもので・・・
5825:2012/01/10(火) 23:52:05.48 ID:KsJABN96
すいません。
戻ってきました。
だいぶん色々出来る様にはなってきたんですが
(パスはpです)
http://loda.jp/0tm/?mode=pass&idd=1672

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

動いているキノコ(インスタンス名ugoku)がスプライトで
そのスプライトに
ugoku.onMouseDown=function(){
stop();
}
というのをくっつけてみたんですけど
「onClipEventまたはonが必要です」
っていうエラーが出てしまって
そもそもクリックされたら動いてるキノコがとまるんじゃないの???
っておもってしまいます
少し解説をお願いできないでしょうか?
59Now_loading...774KB:2012/01/11(水) 00:10:42.08 ID:5wTpnar+
paraflaだとタイムラインに
on(press)
60Now_loading...774KB: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フレーム 停止
これでできんじゃね?
61Now_loading...774KB:2012/01/11(水) 09:50:28.52 ID:DcygMYzI
フルフラッシュサイトを作っている途中で、
ボタン作成中に行き詰ってしまっています。

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

全くの初心者ですがお願いします。
6261: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;
}
}
};
6361: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;
};
64Now_loading...774KB:2012/01/12(木) 01:10:57.43 ID:2viD3KHu
Actionscript2 で上から落下してきたオブジェクトがバウンドして
バウンドの幅がだんだん小さくなって行って止まるというのは
どのようにしたらよいのでしょうか。

横に弾んでいくのではなく、同じ場所で縦にバウンドする動きです。
65Now_loading...774KB: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に文字を書いて
スクロールさせると一瞬文字がスクロールに付いてこない現象が起きます。
直す方法は無いでしょうか?
66Now_loading...774KB:2012/01/12(木) 01:35:40.30 ID:6O1RCtWU
>>64
ttp://hakuhin.jp/as/move.html#MOVE_05
縦にバウンドさせるならX座標をいじらなければいい
6751:2012/01/12(木) 01:56:10.40 ID:DrwfIRSA
絶対パスで行けました
68Now_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を反映させる方法はないのでしょうか?
69Now_loading...774KB:2012/01/12(木) 14:44:39.82 ID:Ljt2EVmc
ようわからんがtextでなくhtmlTextなんじゃないのそれ。
7068:2012/01/12(木) 14:50:22.43 ID:qUbfsc5v
>>69 さん

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

すみません、そんな事も知りませんでした。
ありがとうございます。助かりました!
頑張って完成させます!
7165:2012/01/13(金) 10:31:35.12 ID:teGxBykJ
すいませんAIRスレで聞き直します。
72Now_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();
});
}
73Now_loading...774KB:2012/01/13(金) 18:21:30.31 ID:z6vu9drW
>>72です
自己完結しました。
失礼しました。
74Now_loading...774KB:2012/01/13(金) 18:23:23.75 ID:z6vu9drW
>>72です
やっぱり自己完結出来てなかった…
75Now_loading...774KB:2012/01/13(金) 18:52:30.80 ID:GpeXcSMZ
>>74
hogeの後のアンダーバーを消したら行けた
76Now_loading...774KB:2012/01/13(金) 19:01:42.75 ID:z6vu9drW
>>75
行けねえっすよ…

this["hoge_" + i].startDrag()
のiに値が渡ってないっぽい??
どうしたら…??
77Now_loading...774KB:2012/01/13(金) 19:27:33.68 ID:GpeXcSMZ
>>76
同時にDragはできないんではないの?
MouseOut時にstopDragするとか
ひとつだったらできるんでしょ?
78Now_loading...774KB:2012/01/13(金) 19:39:55.71 ID:lv5Ghape
>>77
うーむ
実際はstopDragも書いてるのだが…

hoge_1〜10にドラッグアンドドロップのアクションをまとめて付けたいだけなのです
79Now_loading...774KB:2012/01/13(金) 19:52:12.32 ID:GpeXcSMZ
>>78
マウスオーバーしたやつにStartDragつければ、
全部書く必要なくない
80Now_loading...774KB: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();
});
}
81Now_loading...774KB:2012/01/13(金) 19:59:40.52 ID:lv5Ghape
>>79
>>80
ありがとうござます!
やってみます!
82Now_loading...774KB: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();
}
8320:2012/01/15(日) 00:19:49.24 ID:WlMHhbaj
>>21
レス遅くなりすみません。原因が分かりました。

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

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

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

つまり
 abc012// OK
 efg345// OK

となりました。
84Now_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処理
をしないといけないので処理が重くなりそうなので別案を探しています。

85Now_loading...774KB:2012/01/15(日) 03:17:44.24 ID:3NoyEflf
AS3 CS3です
1フレーム目にはstop();と記述してあり、MCが一つ配置されている
このMCを最後のフレームまで再生し終わった後、メインタイムラインの2フレーム目に移動するにはMCの最後のフレームに何と書けばいいんでしょうか?
parentを頭につけるだけでは駄目でした
超初歩の質問ですみません
86Now_loading...774KB:2012/01/15(日) 03:43:23.99 ID:ptj4quGH
MCの最終フレームにparent.gotoAndPlay(2)は?
87Now_loading...774KB:2012/01/15(日) 04:17:43.30 ID:3NoyEflf
>>86
こんな時間にスレタイ通りに早い回答ありがとうございます!
しかしparentでは1061のエラーが出て駄目でした…
88Now_loading...774KB:2012/01/15(日) 04:59:20.40 ID:nCDJuWO/
>>87
parentが、DispalyObjectContainerになってるとか言われてるんでしょ?
その場合は、MovieClipにしてやればOK
MovieClip(parent).gotoAndStop(2)
89Now_loading...774KB:2012/01/15(日) 05:07:30.67 ID:ptj4quGH
>>87-88
キャストってやつね
90Now_loading...774KB:2012/01/15(日) 05:38:04.28 ID:7i+f/Epu
AS3でCS5を使用しています

シンボルにマウスオーバーすると音が流れ、マウスアウトすると音が消えるようにするにはどうしたらいいのでしょうか?
最初はボタンでやろうかと思ったのですが
音が流れたままになってしまったのでアクションスクリプトにすることにしたのですが、よく分からず…教えてください
91Now_loading...774KB:2012/01/15(日) 06:37:26.87 ID:ptj4quGH
>>90
addEventListener マウスイベント MouseEvent
でググる。
シンボルが子を持つ場合には、MOUSE_OVERとROLL_OVERの違いに注意。
9284:2012/01/15(日) 06:50:45.22 ID:ptj4quGH
(自己レス)
マウスカーソル変化の感知自体は出来なかったのですが、txt.getTextFormat(A, B)
でTextFormat設定の有無を感知して処理することが出来ました。

またEvent.ENTER_FRAMEでなく、MouseEvent.MOUSE_MOVEを使えば軽くなりそうです。
9390: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();
}
となっているのですがどこを直したらできるでしょうか?
94Now_loading...774KB:2012/01/15(日) 11:23:52.11 ID:TSnH4Sug
SoundChannelをメンバ変数にしないとだめかも んでSoundChannelで再生、停止をする
// サウンドを再生
var channel : SoundChannel = sound_obj.play(0,3);
// サウンドを停止
channel.stop();
詳しくはハクヒンさんとこ見るんだ
95Now_loading...774KB:2012/01/15(日) 11:53:08.77 ID:yivFxBfV
ていうかどっちの関数もMOUSE_OVERにaddしてるっていう
96Now_loading...774KB:2012/01/15(日) 11:56:41.51 ID:ptj4quGH
>>94
ハクヒンさんと言っても初心者は知らないのでは?
ということでURL ttp://hakuhin.jp/as3.html

9790: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が二つあるのは直しました。
98Now_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;
}
}
9990:2012/01/15(日) 15:35:48.05 ID:7i+f/Epu
>>98
ありがとうございました!できました
前の書き方だとOnOutしかアクセスできなくて駄目だった…ということでしょうか?
アクションスクリプト勉強します
本当に有り難うございました
100Now_loading...774KB:2012/01/15(日) 16:07:01.89 ID:yivFxBfV
SoundChannelはSound.play()するたびに個々の音に対応したものが作られるが
>>93ではonOutの中で新しくSoundChannelを作っていて、そっちを操作してて
onOverの中で再生を始めた音の操作ができていなかった
101Now_loading...774KB: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させる変数を
作ればいいのかなと試みたのですが、上手く動きません
102Now_loading...774KB: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の処理能力によってズレたりしますか?
103Now_loading...774KB: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ならバッファ時間を指定できる。

104Now_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とマウスオーバーとの関係
です。 すいませんがアドバイス願います。
105Now_loading...774KB:2012/01/16(月) 02:45:22.93 ID:CHux3ODh
その説明じゃイマイチわからんな
>そして親のMCを一旦消して
消したってどういう風に?
フレームを移動させて静的配置のを消したのか 単にremoveChildでリストから削除したのか
わからんけど最初の操作時のインスタンス変数が生きていて再度の生成時に悪さしてるような感じがした
106Now_loading...774KB:2012/01/16(月) 03:40:12.15 ID:tzj2e9hg
>>103
ありがとうございます
恥ずかしながら超初心者で
sakujyoMC = addChildされたMC
の部分の書き方が分かりません
色々書いてみても強制変換型に失敗しました、などとエラーが出てしまいます
107Now_loading...774KB: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は上記のように毎回初期化する必要があるみたいです。

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

109Now_loading...774KB: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
110Now_loading...774KB:2012/01/16(月) 14:04:43.86 ID:xiCkIEfm
>>106
そもそも、型が違うって状況を理解してないんじゃ?
状況を理解してないから、同じ問題に出くわしても型変換という発想にならない

>>109が親切に書いてくれているけど、それでもよく判らないなら
いったんクラスの概要について、基本的な解説を読んどいたほうがいいよ
継承構造を知らないと、この先何度も同じようなとこで躓くことになる
111Now_loading...774KB:2012/01/16(月) 16:38:59.80 ID:0glqET1v
>>110
横レスで補足:
継承ってのは進化というかバージョンアップと解釈できる。つまり、
旧ザグ→量産ザグ→湿地帯用ザク って感じ。

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

112Now_loading...774KB:2012/01/16(月) 19:05:25.59 ID:gA6iDCyZ
下手な例えほど理解を妨げるものは無いな
113Now_loading...774KB:2012/01/16(月) 20:33:01.54 ID:JQxN1/Ms
asの方が遅えってどっかで読んだ気がしたんだけどどっちだっけ…
114Now_loading...774KB:2012/01/17(火) 15:04:04.18 ID:jhCompjR
FlashCS5,AS3,AIR2.0ですが、パブリッシュすると下のメッセージが出て困ってます。
http://uproda11.2ch-library.com/331375krZ/11331375.png

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

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

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

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

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

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

116Now_loading...774KB:2012/01/17(火) 21:12:07.84 ID:1+mk6Te8
>>103
ありがとうございます
AS3の勉強してみます
117Now_loading...774KB: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();

です。どこがおかしいですか。
118Now_loading...774KB: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になることはないんじゃないか?
119117:2012/01/17(火) 23:11:51.44 ID:0gMwQPqH
>118
すみませんはしょってしまいました。
>var selectNowPage:Number = 0;

>var nn:int = 1;
の間にXMLから画像を読み込んで表示する記述があり、はじめに表示した画像(つまりvar selectNowPage:Number = 1;)になっていました。
ややこしくして申し訳ありません。
120117:2012/01/17(火) 23:16:19.46 ID:0gMwQPqH
var selectNowPage:Number = 1; ではなく
selectNowPage = 1;
です。さらに書き間違えてすみません。
121Now_loading...774KB:2012/01/17(火) 23:33:16.87 ID:bag6xnZ4
なるほどね・・・

動作を予想すると、一回目にifの中に入った後にnnは2になるけどselectNowPageは1のままで
次にif文に入るのはnnが一周した時だな
表示したいページをalpha=1に、それ以外をalpha=0にしたいなら、
ループで回してやらないとダメなんじゃね?
122117:2012/01/17(火) 23:53:12.33 ID:kHhiCCjy
ありがとうございます。
ループでやってみます。
123Now_loading...774KB:2012/01/19(木) 01:43:57.65 ID:vminT5AC
AS3・CS3winXP??
画面にボタンが3つ、押すとそれぞれ別の外部swfファイルを読み込ませたいです??
読み込ませたい場所に空のMC、emptyを配置しておき??

var??loader_obj:Loader??=??new??Loader()??;??
empty.addChild(loader_obj);??

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

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

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

このスクリプトだと「定義urlにコンフリクトが存在します」というエラーが出てしまいます??
どうすれば解決できるのでしょうか…
124123:2012/01/19(木) 01:54:15.09 ID:vminT5AC
何だか半角スペースが妙な感じに変換されてしまいました…
勿論元のスクリプトには・はついてないです
あともう1つ、読み込んだMCがなぜかレイヤーの一番下で再生されてしまいます
emptyを一番上のレイヤーに置いてみても変わりません
何が悪いのでしょうか
125Now_loading...774KB: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個で済む あと、レイヤーの一番下になる原因は推測できん。

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

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

ただ、蛇足になるけどこの記述だけだとロードしたswfをremoveやunloadする記述がない
ボタンを押せば押した数だけ同じ動画や画像がloadされて重なって表示される事になる
音声付の動画ならわかりやすいんだけど、音も重なっていくメモリもガンガン食う
その都度、loader_obj.の中身を空にしてからloadしたほうがいいように思う
一番下で再生されるって言うのも言ってる事がよくわからないが
そういう風にすればそういう事もなくなるんじゃない?かな
127123:2012/01/19(木) 06:55:14.00 ID:eTox4xg+
ありがとうございます
CS5.5で同じファイルをひらいたらエラーは出ませんでした
レイヤーの一番下に配置される問題も解決できたのですが今度は別の問題が…
swfファイルの座標指定が効かずとんでもない場所に表示されてしまいます
この場合などんな原因が考えられるでしょうか?
空のムービークリップの位置を動かしても関係ありません
128Now_loading...774KB:2012/01/19(木) 14:17:06.49 ID:Dm78EKPI
>>127
結局、ASはなにも変更してないってこと?
エラーは、「同じ名前の変数を複数つくるな!」って意味
少なくとも、それぞれvar url、var url2、var url3とかにすれば
エラーも出ないし、問題なく動作する
まずはそこをクリアするべき

この先を考えれば、>>125>>126のアドバイスに従って、書き換えたほうがいい
129Now_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.

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

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

var mc0:MovieClip = 対象オブジェクト.content as MovieClip;
mc0.stop();
でもだめ?
131Now_loading...774KB:2012/01/19(木) 23:46:26.59 ID:+5+GyZ+w
>>130
レス有難うございます。
「対象オブジェクト,対象オブジェクト.content」はtraceすると、[object Loader], [object AVM1Movie]
となって間違いは無いようですが、as MovieClipするとnullになってしまいます。
※AVM1Movie型を持っているが、キャストするとnullになる。
132Now_loading...774KB:2012/01/20(金) 00:12:06.95 ID:qUxySH46
だただらと長かったプログラムを
for文使ってすっきりさせてパブリッシュ
出来上がったファイルは元より容量が増えていた
そんなもんなのだろうか
133Now_loading...774KB:2012/01/20(金) 01:00:30.76 ID:ro6eMvMY
>>132
よくあるな
モバイルFlashの時はそれで困ってたわ
134Now_loading...774KB: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 );
}
135Now_loading...774KB:2012/01/20(金) 02:02:11.83 ID:ayL74Alu
>>131
自分の環境では、>>130の方法で動作している
キャストするタイミングが違うとかでないなら、そちら固有の問題
(たとえば、ForcibleLoaderなど)に原因があるのだと思う
136129&131: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()

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

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

一応、他の機能は実現しているのでこのまま進めます。
138Now_loading...774KB: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
139Now_loading...774KB:2012/01/21(土) 00:50:21.81 ID:5z1wOgRR
>>133
やっぱりあるんだ、やる気なくすなぁ
forじゃなくてwhileとかを使った方がいいのかな
140Now_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; にしてもダメでした。
このような経験はありますか?
141Now_loading...774KB:2012/01/21(土) 09:04:08.50 ID:N6chXOoX
>>139
ループ系は容量増えやすいからあまり変わらないと思う
142Now_loading...774KB:2012/01/21(土) 09:56:49.31 ID:N+CnCGA4
AS3です

MP3の音楽の再生を任意の位置で停止して、その停止した時の音を鳴らし続けたいのですが
方法を知ってたら教えてください。よろしくお願いします
143Now_loading...774KB:2012/01/21(土) 14:22:21.09 ID:z+03vdra
paraflaで使える文字のサイズが小さくても読みやすいフォントってありますか?
アンチエイリアスがかからないデバイスフォントがドンピシャなんですけど
環境によって使われるフォントが変わる(=デザインが崩れる)と聞いたので・・・
ビットマップフォントって使えないですよね?
144143:2012/01/21(土) 14:22:38.47 ID:z+03vdra
すみません誤爆しました
145Now_loading...774KB:2012/01/21(土) 15:13:47.79 ID:ut2CQ6AY
>>142
> その停止した時の音

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

実際は、停止した時点で音はないと思うので
おそらくは、停止した瞬間から、そのちょっと前までという短い間の音楽を
ループさせたいということではないかと推測するのだが、どうだろうか?
146Now_loading...774KB:2012/01/21(土) 17:58:26.91 ID:pk2B3+WL
>>145
レスありがとう。その通りです
具体的に言うと、「あいうえお」という曲があって「う」の時に停止したらずっと「うーーーー」と音が出て欲しいです

今、音を止めた時のpositionから1フレームだけの再生をループさせてみたのですが
うぇうぇうぇうぇ、という感じになってしまって出来なかったです
147Now_loading...774KB:2012/01/22(日) 11:17:23.05 ID:ikXf6l8r
>>142
おもいつきだけどフレームレートを変えてみたらどうでしょうか。
148Now_loading...774KB: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");
}

↑このままでは、何も反応が起こらない状態です。
どのような記述を行えば良いでしょうか?
149Now_loading...774KB:2012/01/22(日) 15:12:49.39 ID:6eiFF332
>>148
配列アクセス演算子
150Now_loading...774KB:2012/01/22(日) 17:03:32.16 ID:LvqEXknq
おすすめの無料効果音素材サイトはありますか?
欲しいのは
コントでスリッパで「スパン!」とぶん殴る効果音
(みなさまのおかげですでチェッカーズの歌歌って殴るあの音)
とか
151Now_loading...774KB:2012/01/22(日) 17:25:51.20 ID:sW95RgOE
>>149
解決しました!ありがとうございます。

Flash板は5年生の先輩から教えてもらったんですが、
こんな物知りなFlash使いの人達がいる掲示板があったのは初めて知りました。
今後も利用させていただきます。
ありがとうございました!
152Now_loading...774KB:2012/01/22(日) 22:36:59.79 ID:HUhtOMON
配列アクセス演算子って何回回答したかね。
まあググれるワードじゃないから仕方ない
153Now_loading...774KB:2012/01/22(日) 23:03:44.85 ID:nFAGLJEL
AS3でちょっとした疑問なんだけど
親Sprite
┣MovieClip
┣Sprite
┣・・・

こういうかんじでオブジェクトをaddChildしてる時、
親Spriteだけremoveしちゃえば、子オブジェクトは全部解放されるの?
それとも子オブジェクトそれぞれremoveしないと解放されない?
154Now_loading...774KB:2012/01/23(月) 00:26:48.67 ID:jwTnhMEo
解放というのがガベージコレクションという意味ならどちらも表示リスト外れようが他に参照持たれてたらされない

他に参照持たれてなければ親がremoveChildされた時点で子もGC対象になる
155Now_loading...774KB:2012/01/23(月) 00:50:43.42 ID:SA/v59S7
>>150
出来れば俺がお前の頭を
156Now_loading...774KB:2012/01/23(月) 04:06:54.92 ID:R9zntuVO
>>142
簡単なやり方だと、1つMovieClip作ってその中に、サウンドをストリーミング配置して、切りたい音のポイントごとにラベルで切るのとフラグ用に変数立てて、サウンド停止時に flag=true;みたいにする
んで切ったラベルの最後に if(flag)this.gotoAndPlay(“う“); みたいにすればいけると思う
157Now_loading...774KB:2012/01/23(月) 08:38:48.65 ID:F9CY73VL
一つのアプリケーション内で複数のstageを持つことってできますか?

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

3Dライブラリとしてpapervision3Dを利用しようと思っていますが、
3D表示用のstageを確保しなければならないのではと思い上記の質問しました。
158Now_loading...774KB:2012/01/23(月) 09:17:57.12 ID:75ziPXDc
>>154
ガベージコレクションでなくその場で即刻解放 というわけにはいかないか

もう一つ質問だけど
mcとかObjectはdelete使えないってのは知ってるが
delete mcとかやってもエラー出ないんだけど、これは特になにも処理されてない ってことでいいのかな
159Now_loading...774KB:2012/01/23(月) 10:48:17.08 ID:+vchNyJM
>>157
Stageは1個だけだい >3D表示用のstage ってのはDisplayObjectを継承した描画用クラスなら何でも可じゃないかな
たぶんpapervision3Dで用意されてる

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

>その場で即刻解放
しないね
161Now_loading...774KB:2012/01/23(月) 14:57:39.02 ID:75ziPXDc
>>160
なるほどサンクス

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

という感じになった。
わかりそうでよくわからんが、この辺は適当にやるよ。
162Now_loading...774KB:2012/01/23(月) 18:06:23.85 ID:jwTnhMEo
上記の現象はMCはダイナミッククラスってのが関係してんじゃね

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

基本的に参照切るならnullを使う
即時削除(明示的なGC)はFPでは基本的にはできない(デバッグプレイヤーなら可、裏技あり)
AIRなら出来たかな
ただしBitmapDataのみ即時解放ができる
163142:2012/01/23(月) 18:57:55.37 ID:kekHgWc7
>>147>>156
ありがとう。やってみたのですが、どうも「プツ」っという音が入ったりして上手くいかなかったです
なので諦めました。ごめん
164Now_loading...774KB:2012/01/23(月) 20:30:56.57 ID:SA/v59S7
早期に諦めるというのも一つのテクニックだな。
165Now_loading...774KB:2012/01/23(月) 21:24:10.40 ID:75ziPXDc
>>162
詳しくサンクス
166Now_loading...774KB:2012/01/24(火) 00:32:00.89 ID:t+zu2/RW
spriteのrotationXorYorZを変化させると
spriteのクオリティが下がってすこしぼやけた感じになってしまうのですが
これは仕方がないのでしょうか
167Now_loading...774KB:2012/01/24(火) 02:31:21.06 ID:VCNBilr4
>>166
それはクオリティが下がってるんじゃなくてベクタからラスタに変換されてるの。
最初から大きいベクタを用意して操作すれば、ある程度は軽減される。
168Now_loading...774KB:2012/01/24(火) 12:22:35.94 ID:/jTi9mue
>>159
ありがとうございます!3D表示できました。

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

169Now_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するのとほぼ近い記述なのですがエラーがでます。
どうしたものでしょうか?
170Now_loading...774KB:2012/01/24(火) 14:06:47.31 ID:/J1+/BR8
できないと3Dの意味ないだろ オブジェクトの位置と見たい方向をカメラにブッ込めば可能のはず
papervision3Dのヘルプ見れ 日本語のがあったはず
171Now_loading...774KB:2012/01/24(火) 14:11:33.68 ID:/J1+/BR8
>>169
とりあえずデバッグモードで走らせてエラー出た行番号のコードを確認
変数が複数あるなら「デバッグパネルの変数」のとこ見てnullの変数を確認
なぜnullになるのかわからなかったらもう1回質問してくれ
172169:2012/01/24(火) 20:29:22.65 ID:aJ0wywHx
>>171
レス有難うございます。 原因が分かりそうです。
通常、CS4では使用するコンポーネントを一旦ステージに置いてライブラリ化(ライブラリウインドウ内
に表示)して使用するのですが、このライブラリ化したものを一旦削除して再度ライブラリ化するとOK
でしてた(つまり更新しました)。

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

173Now_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 にしましたがリスナー関数は実行
されませんでした。
174Now_loading...774KB:2012/01/24(火) 23:43:28.12 ID:/J1+/BR8
>内部の記述が実行されたことを感知する
うーんイマイチ意味がわからんな インスタンスに通知ってどーゆー事だ…
フラグ用意してゲッターで他のクラスに渡すってのとは違うのか
ていうかそのカスタムイベントはちゃんと動いてるのかい
ここ参考にしてみ
ttp://feb19.jp/blog/archives/000115.php
175Now_loading...774KB:2012/01/25(水) 00:41:09.12 ID:1fL8G1rX
ああもしかして カスタムイベントクラスのコンストラクタの実行時で反応が無いって事かな?
dispatchEventはコンストラクタじゃイベントを送信しないぽい カスタムイベントクラス内の何かのメソッドで
条件を満たしたら以下を実行で インスタンス.addEventListener(Event.XXYY, doneFunc);が反応するお

dispatchEvent( new Event( Test01.XXYY ) );//イベントをイベントフローに送出
176Now_loading...774KB:2012/01/25(水) 00:45:46.22 ID:1fL8G1rX
ああごめん インスタンス側の記述はこうだな
var e:Test01 = new Test01();
e.addEventListener( Test01.XXYY, doneFunc );
177Now_loading...774KB: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を使えるようにするにはどうすればいいだろう?
178Now_loading...774KB:2012/01/25(水) 21:20:42.76 ID:n7jyUYkI
ああ getterとかもなるべくなら使いたくないんだけど
そういうのしか手はないんだろうか
179Now_loading...774KB:2012/01/25(水) 23:55:30.19 ID:Qe34xAUd
>>177
うーん?普通に出来てるけど
public class Superとかpublic class Subにしてみるとか?
180Now_loading...774KB: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は解放されないのでしょうか?
181Now_loading...774KB:2012/01/26(木) 02:13:54.69 ID:17ONX9mB
loaderにnullをいれてんのは参照切るためだよ
loaderに別のインスタンス入れてももとのオブジェクトの参照は切れるよ
182Now_loading...774KB:2012/01/26(木) 08:28:54.60 ID:sARG6wIg
>>179
え できるのか・・・ なんか忘れてることがあるのかな
177では省いてたけどclassもpublicにしてるし・・・
183174: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 のコードでとりあえず通知させる
仕組みは出来ました。

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

184Now_loading...774KB:2012/01/26(木) 16:27:59.24 ID:1tKvjhIF
>>182
出来ないわけ無いから、最低限のソース全部貼った方が早いと思うが。
185Now_loading...774KB:2012/01/26(木) 19:00:55.99 ID:Beh08/YE
あの〜、
Stage.scaleMode = "noScale"; でMCサイズが拡大縮小しないようにしてるのですが
ブラウザのウィンドウサイズが一定の大きさより小さくなった場合に
MCを縮小するってことはできるのでしょうか?
186Now_loading...774KB:2012/01/26(木) 22:59:27.47 ID:sARG6wIg
>>184
改めて試したんだができるようになってたわ・・・
なんかすまんかった
なんで前はエラーでたんだろう・・・
187Now_loading...774KB:2012/01/27(金) 00:07:51.02 ID:AY8qNyZU
>>181
回答ありがとうございました。

もう一ついいですか?

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

こういった場合に、親の参照を切れば、メモリリークの心配はないのでしょうか?
それとも、親にぶら下がっている全てのオブジェクトを調べて、
全部removeChild()しないとメモリリークになるのでしょうか?
188Now_loading...774KB:2012/01/27(金) 01:54:36.84 ID:rWDTRw7N
>>187
>>154で言ったとおり親の参照が表示オブジェクトツリーから切れても他に持たれていたら親が残る
よってその子も残る
親が他から参照なければ子も表示オブジェクトツリーからの参照は切れる
でも子が他から参照持たれてたら子は残る
その場合たぶん子のparentには親が入ったままだから親も残るかもね

質問の答えとしては
親が子の参照を持ち、子が親の参照を持つだけの状態で表示オブジェクトツリー以外の参照がない場合、親をremoveすれば子もGC対象になるよ
他から参照なければね
189Now_loading...774KB:2012/01/27(金) 02:28:45.25 ID:jzyOmjeZ
>> 188
回答ありがとうございました。
大変勉強になります。
今、作っているコンテンツが、
どうもリークしているようで、
調査に苦戦してます。

回答いただいた内容を参考に、引き続き
調査してみます。
190Now_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では改善されてますか?

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

191Now_loading...774KB:2012/01/27(金) 11:00:49.89 ID:shQ/bgLM
そんな事ねえだろうw
うちはCS5.5だが当然無い CS5でも大丈夫だと思う
再インスコしてもダメならAbodeに報告するしかないな
192Now_loading...774KB:2012/01/27(金) 11:10:00.92 ID:shQ/bgLM
だいたい超基本的な質問スレが無いのがいかん
次スレ立たないうちから埋めやがってもうアフォかと…

というわけで立てといたお
ttp://toro.2ch.net/test/read.cgi/swf/1327630120/l50
193Now_loading...774KB:2012/01/27(金) 11:23:42.26 ID:SIdMewnp
CS5で試してみたけど普通に検索できたよ。
194Now_loading...774KB:2012/01/27(金) 11:27:27.16 ID:2IjPgFvU
俺もまだCS5だけど、OK
195190:2012/01/27(金) 13:59:10.92 ID:xzIvTLon
>>191-194
再インストールしましたけど症状は同じでした。
因みにOSはWindowsXP-Pro(SP3)でメモリー3.3GB,CPU:Core2DuoのE6550です

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


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

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

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

もしかして子swfから外部画像を読み込んだものを
親swfで表示するのはそもそもできないのですか?
197Now_loading...774KB:2012/01/27(金) 23:50:13.67 ID:Sg/LpXuS
>>196
要は子が参照しているPNGを親で見るってこと?
ならば、子のPNG変数(URL)を親に渡すってことで、 SWF 親 子 変数 アクセス 
でググると吉かも。

注意点は、親子SWFが同じAS3なら良いけど、万が一、子がAS2の場合は変数に
アクセスできない。 その場合はライブラリ「ForcibleLoader」とかを使う。
198Now_loading...774KB:2012/01/28(土) 00:04:45.23 ID:BelXmZ6i
>>196
普通に表示できるよ
ロードや表示に関するASやflaを晒さないと原因はわからんが
どこかで間違ってるか何かを勘違いしてるのだと思う
199196:2012/01/29(日) 13:46:14.22 ID:TwlN1FpD
>>197,198
レスを参考に試行錯誤してみます。
どうしもだめな場合はダメASを披露しにきますw
ありがとうござました。
200196: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〜
201196:2012/01/29(日) 17:58:22.60 ID:TwlN1FpD
200に追記
container.addChild(mc);のcontainer定義はここの投稿時に
行数警告でその行を削除しましたが、
var container:Sprite = new Sprite();
addChilde(container);
と記述してあります。
202Now_loading...774KB:2012/01/29(日) 18:29:03.04 ID:A9bbXgrx
そのコード試そうかと思ったがメンドイので止めたw
そもそも何でそんなヘンテコな構造なんだ
DisplayObjectContainer使って コンテナ用意してその中に
pic01, pic02 …とSpriteかMovieClipのインスタンスを追加していき
そのインスタンス内にロードして表示、非表示等の操作をすれば楽だし改造し易いお

>var req :URLRequest = new URLRequest("01/01.swf");
フォルダ名って数字のみでおkだったっけ? ↑
203196:2012/01/29(日) 21:38:15.40 ID:TwlN1FpD
>>202
ディレクトリの数字のみの件は、子swfのシーンは表示しているのでリンクはOKなようです。
ためしに01からobjとフォルダ名を変えてみましたが結果は同じでした。

外部に画像を出しておくのが仕様で、子swfを頭から連続再生させたり途中から再生させた
かったので各フレームに読み込んで後は親が子swfをプレイすればよいかと考えたのですが
構造をかえてみます。ありがとうございました。
204Now_loading...774KB:2012/01/29(日) 22:28:24.19 ID:A9bbXgrx
>頭から連続再生
ってまさかアニメ? それならアニメ詰まったのを1個読み込むのが普通だろ
なんで画像を1枚づつ読み込むんだ まあ…がんがれ
205Now_loading...774KB:2012/01/30(月) 21:29:37.73 ID:lCMdSn8T
質問失礼します。
Adobe Flash Professional CS5 で開発をしているのですが、
traceで出力パネルに出力した文章をコピー&ペーストして.txtとして保存すると
テキストの形式がShift-JISで保存されます。

そこで、出力パネルに出力される文字コードをUTF-8にしたいのですが、
traceで出力する際に文字コードの指定などはできないでしょうか?
206Now_loading...774KB:2012/01/30(月) 23:35:37.41 ID:InGhw/bk
>>205
保存するときにUTF-8にすればいいんじゃない?
207Now_loading...774KB:2012/01/31(火) 14:19:57.17 ID:yM7uuYbI
>>205

テキスト貼付けるエディタのデフォの設定がShift-JISなんだろ?
エディタを何とかしろ
208Now_loading...774KB:2012/01/31(火) 16:52:45.97 ID:2xuTHBYb
スレ違いだったら申し訳ありませんが、質問です。
ActionScriptにはJAVAのヒープ領域のようなメモリ領域はあるのでしょうか?
あるなら、どのくらいのサイズが確保されるものなのでしょうか?
209Now_loading...774KB:2012/01/31(火) 19:06:08.06 ID:biaD4WdC
http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/system/System.html
このへんかな。当たり前だけど処理系ごとに変わるけどね。
210Now_loading...774KB:2012/02/02(木) 08:10:32.93 ID:TjsnZczT
Chrome以外で自分のSwf見ると挙動がおかしい・・・
Operaだとクリックした時にしかマウスポインタが手に変化しないし、
IEだとFLASHのバナーしか表示されないし・・・
このへん詳しいこと書いてるサイトとかないかな?
211Now_loading...774KB:2012/02/02(木) 09:44:02.58 ID:ewFRfMTf
FlashはIE基準じゃなかったかな ちょっと前はクロームでキーボード入力受け付けないとかあったけど…
IEで挙動がおかしいのは直さないとダメだな ちなみにIEのバージョンとかは?
SafariはAppleなのでFlashの挙動が変なのは諦めるしかない
212Now_loading...774KB:2012/02/02(木) 14:24:53.02 ID:TjsnZczT
Chromeはキーボードも受け付けてるし一番問題ないな
IEバージョンは9だったけど、スクリプトだけ色々いじってたらとりあえずIEは表示されるようになったよ・・・原因わからない
Safariは持ってないし確認しようないから置いておいてる
せめてOperaのボタンのカーソルくらいは直したい・・・
今はSprite継承の自作クラスの中でthis.buttonMode=trueでやってるけど、これが原因だろうか

あとついでに質問だけど、今の状態だとFLASHをドラッグしてしまえるんだけど(テキストドラッグしたみたいに青くなる)
これをドラッグさせないようにするのはHTMLとかjavascriptの範疇?
213Now_loading...774KB:2012/02/02(木) 14:48:17.42 ID:ewFRfMTf
実際のインスタンス(のターゲット変数).buttonMode=true;にしてる?

ドラッグして青くなって選択状態になるのはしょうがないお
214Now_loading...774KB: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する、みたいにできてる。
215Now_loading...774KB:2012/02/02(木) 16:40:09.87 ID:ewFRfMTf
mc1をaddChildする時に mc1.buttonMode=true;
mc2をaddChildする時に mc2.buttonMode=true;

これでだめならもうわからん Operaの方が対応してないぽい
216Now_loading...774KB:2012/02/02(木) 20:13:16.06 ID:4HNnzc9t
AS3というかASの基本的な質問です。

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

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

217Now_loading...774KB:2012/02/02(木) 20:34:10.59 ID:eJFDLw3v
http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/Array.html#concat()
それは圧倒的にググりが足りないな
リファレンスくらいはお気に入りにいれときなさい
218216:2012/02/02(木) 21:17:57.35 ID:RCR9XpAS
>>217
早速さんきゅう。 でも、できません。

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

長さが変化しないのですが・・・
219Now_loading...774KB:2012/02/02(木) 21:19:38.74 ID:eJFDLw3v
>>218
リファレンスを読み直しましょう
ちゃんと例のとおりにつかっていますか?
220Now_loading...774KB:2012/02/02(木) 21:54:28.42 ID:TjsnZczT
>>215
ちょっとやってみるわ
221216:2012/02/02(木) 21:56:11.78 ID:KAFsu2jP
>>219
すいません。。。 左辺が必要でしたね。

222Now_loading...774KB:2012/02/02(木) 22:37:59.10 ID:eJFDLw3v
>>221
そうそう。そういうパターン実はいくつかあるから注意だね
逆にそういうパターンにしてほしいのに複製作られずにいじられちゃったりするパターンもあったり
223Now_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) とかで
出来ますが、これだと全文が青色になってしまいます。

どうすべきでしょうか?
224223:2012/02/03(金) 06:26:57.42 ID:i7tdhhgt
(上の追記)
tFd.getTextFormat(5, 11)で調べると確かに [object TextFormat] と出て、
テキストフォーマットが設定されてはいるようですが・・・
225Now_loading...774KB:2012/02/03(金) 07:21:02.10 ID:LZoKz3+2
とりあえずこれは抑えてあるよね
http://flabaka.com/blog/?p=535

TextAreaでなく最初からTextField使う場合は意図したとおりに適用されてる?
226220:2012/02/03(金) 09:50:16.05 ID:0qxNACgm
>>215
やってみたんだができなかった・・・
普通のムービークリップ.buttonMode=trueもやってみたけど、
Operaだとクリックして動かさない間しかマウス変化しない・・・

それでFlashProでテスト用のSWF作ってみたが、こっちではちゃんとできてた。
FlashBuilderで作ったのが悪いんだろうか・・・
227223: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使う場合は意図したとおりに適用されてる?」
をもう少し詳しく解説願います。


228Now_loading...774KB:2012/02/03(金) 13:54:22.72 ID:LZoKz3+2
TxtArea(コンポーネント?)を使わずに単にTextFieldを表示させてる時に意図した通りの見た目になってるか、だよ
問題がTextAreaなのかTextFieldなのか切り分けるの
229223&227:2012/02/03(金) 15:43:48.90 ID:81rqqVrX
>>228
さんくす。
TextFieldのみを使った場合、上手くいきました。 TxtAreaは文字単位の色付けといった
細かいことには不向きなのかも知れません。
230Now_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を使用しています。
231Now_loading...774KB: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でも動く筈。

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

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

ちなみに最終的にはムービークリップが300個くらい(swfに書き出すと約180kb)になるのですが、ホームページにのせた場合重くなるのか心配です。スクリプトは前述のような動作です。
233Now_loading...774KB: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;

先ずは、変数と型の関係を理解しませう。
234Now_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

235Now_loading...774KB:2012/02/04(土) 14:08:20.86 ID:xlKx4hNr
>>233
ありがとうございます!
本を買っていろいろ勉強してみるつもりです。
ちなみに、ボタンの上にムービークリップやテキストがある場合
下のボタンを触れるように出来るのでしょうか?
それとvar mem:uint = System.totalMemory; の使い方よく分かりません…。
236233: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
237Now_loading...774KB:2012/02/04(土) 15:29:22.28 ID:on1pbUkS
>>236
試しに今作っているFLASHのボタンの1つに totalMemoryを記述してみました、クリックするとムービークリップを表示するボタンです。
出力に49049600と出ました。ちなみにそれを非表示にするボタンは51654656でした。
単位はバイト?これはどのくらいを意味している?
表示中でも表示するボタンを押すとメモリーがかかる、
それと非表示ボタンのほうがメモリーが高い、頭の中が混乱してきました…。
238Now_loading...774KB:2012/02/04(土) 15:37:22.13 ID:2FY7XTQz
表示時は表示インスタンスがグラフィックRAMに記憶され
非表示時は全部(のデータ)が通常メモリに記憶だからじゃね?
239Now_loading...774KB:2012/02/04(土) 16:32:48.98 ID:sCENL8qA
そもそもGCあんだから瞬間的なメモリみても意味が無い
気にすんな
240Now_loading...774KB:2012/02/04(土) 17:46:22.24 ID:fXuACLII
>>236
上にテキストやMCがあっても、それらのmouseEnabldがfalseであれば
下のボタンを操作できるよ
241Now_loading...774KB:2012/02/04(土) 18:48:52.87 ID:yUwZ/lYS
>>237 単位はバイト?これはどのくらいを意味している?

参考リンク嫁



>>239
デバッグ版プレーヤーなら gc()があるけど、GCって(基本)気まぐれなんでしょ?
しかもオブジェクトが無参照になってnullにならないとダメとか。
242Now_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;
}
みたいなこともできるのですね!
243Now_loading...774KB: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より大きくしてみたんですがダメでした
244Now_loading...774KB:2012/02/05(日) 11:45:17.51 ID:q4VvPX4X
_rootにマスクするのやめたら?
245Now_loading...774KB:2012/02/06(月) 11:11:35.69 ID:WvTafXft
>>244
できました!
ありがとうございます
246Now_loading...774KB:2012/02/07(火) 00:55:39.75 ID:R12olOWB
CS5を使っております。

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

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

それとも、何か後処理しないとメモリリークになってしまうのでしょうか?
247Now_loading...774KB: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/
248Now_loading...774KB:2012/02/07(火) 23:54:10.02 ID:j8nkoxb4
>>247
回答ありがとうございました。

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

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

ありがとうございました。
249Now_loading...774KB:2012/02/08(水) 05:55:35.21 ID:NeEN90Ai
>>248
そうそう。弱参照ね。
ちなみにPapervision3Dには、不要になった3Dオブジェクトを削除するために
オブジェクト.material.destroy(); というのがある。
250Now_loading...774KB:2012/02/09(木) 18:51:51.58 ID:R+rqbmsZ
すいません
デバッグができなくて困っています。Flashdevelop4.0.1、AS3プロジェクトです

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

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

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

ので、何か手がかりを知っている方が居たら教えてください
よろしくお願いします
251Now_loading...774KB:2012/02/09(木) 18:52:17.71 ID:R+rqbmsZ
age忘れました
252Now_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が定義されませんと、エラーが出ます。

ぜひお教えくださいよろしくお願いいたします。
253Now_loading...774KB:2012/02/10(金) 14:40:43.16 ID:AfUv8uUH
importしましょう


こちらへどうぞ
Flashの超基本的な質問はここでしろ! part43
http://toro.2ch.net/test/read.cgi/swf/1327630120/
254Now_loading...774KB:2012/02/10(金) 15:10:18.19 ID:MiPu/7Cc
>>250
デバッグはFlash CS5とかなり違うんだろか
デバッグ時の画面、挙動がどういう状態なのか少しわからないと答えるのむずいお
255226:2012/02/10(金) 19:30:56.22 ID:jEUJ5txX
今更だけど規制解けたので

どうもFLASHのウィンドウ設定を透明に設定すると、今回のようなバグがでた
調べたら透明の時はなんか微妙に色々起きるらしいな
気づくの時間かかった
256250:2012/02/11(土) 01:38:15.67 ID:fz4rwvJH
>>254
レスありです。CSとの違いは分からないです
挙動というか、とにかくFlashPlayerが表示されるだけで何も実行されません


今、古いSDKを使ったら一応デバッグできたので急な要件ではないのですが
何か知っている方がいらっしゃったらよろしくお願いします
257Now_loading...774KB:2012/02/11(土) 17:33:52.18 ID:JttzamSG
AIRの質問なんだけど大丈夫だろうか?

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

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

258Now_loading...774KB:2012/02/12(日) 11:02:24.89 ID:AYUdcfOs
259Now_loading...774KB:2012/02/12(日) 11:03:31.93 ID:AYUdcfOs
ミスった…

>>257
ソース乗っければ誰かが教えてくれるかも
http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/display/NativeWindow.html
260Now_loading...774KB: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を読み込まないから絶対失敗するのかな、と。
261Now_loading...774KB:2012/02/12(日) 12:33:00.73 ID:o5SxRP9k
Android向けのサイトで使うFlashをとりあえず10、AS1.0で作っています
loadSoundで読み込むサウンドデータでmp3以外(具体的にはAACエンコしたm4a、もしくはogg)の圧縮フォーマットを
使うことは未だにできないのでしょうか?
ぐぐっても2004年頃の「できない」という情報しか出てこず、最新の事情を知りたいです
FlashやASのバージョンでも違ったりする?
262Now_loading...774KB:2012/02/12(日) 13:21:55.81 ID:AOoGwUT/
>>261
AS1はもう変わってないんじゃない?
263Now_loading...774KB:2012/02/12(日) 14:21:20.72 ID:o5SxRP9k
AS2か3なら使えるのでしょうか?
264Now_loading...774KB:2012/02/12(日) 14:30:09.40 ID:9Rn+Z/v+
10なのにAS1を使う理由がまったくないな
265Now_loading...774KB:2012/02/12(日) 14:30:55.86 ID:UL0KTdNX
m4aはローダー作ってる人いたけど、基本はmp3だけだろうな
266Now_loading...774KB:2012/02/12(日) 14:34:26.63 ID:AOoGwUT/
>>263
mp3じゃだめなの?
267Now_loading...774KB:2012/02/12(日) 14:36:00.62 ID:o5SxRP9k
AS1に拘る理由は全くないです、AS2か3で使えるならそちらにします
商用なのでmp3は使えません
268Now_loading...774KB:2012/02/12(日) 14:39:21.35 ID:AOoGwUT/
>>267
oggとかが使えるかどうかわからんがAS3のほうがいいよ
269Now_loading...774KB:2012/02/12(日) 18:40:52.27 ID:Va1DU68x
>>267
AS1,2は無理
AS3は自前でデコードするなら何でも可能
ただmp3はFlashに埋め込んどけばいいんじゃね?
270Now_loading...774KB:2012/02/13(月) 19:44:20.87 ID:AhhPa0c+
CS5,WinXP,AIR2.0ですが、addChildしたテキストフィールドが滲んで(にじんで)しまい
困ってます。
http://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)なので滲まないようにしているのですが・・・
考えられる原因は何でしょうか?
271Now_loading...774KB:2012/02/13(月) 20:32:02.28 ID:KUOA6RJ2
滲みっていうか、単にアンチエイリアスがかかってるだけじゃねーの?
272270:2012/02/13(月) 22:03:51.77 ID:AhhPa0c+
>>271
さんきゅう。
デバイスフォントでOKでした。
273Now_loading...774KB:2012/02/14(火) 12:01:31.66 ID:imvGWgVk
AS2.0でダイナミックテキストにUIScrollBarを使っていて、テキストを「選択不可」にするとマウスホイールが使用出来なくなるんですが、良い解決方法知ってる方いませんか?
http://www1.axfc.net/uploader/File/so/75355
274Now_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にするだけで良い、という記述も見かけたんですが今回の通りです)

どなたか教えて下さい。
275Now_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を使用すると、コンパイルエラーになります。
276Now_loading...774KB:2012/02/14(火) 20:55:22.68 ID:OU99ITjo
>>274
pngはBitmapで生成して、親としてSprite作ってaddChildしたら?
277Now_loading...774KB: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として出した場合には設定できない
278274:2012/02/14(火) 21:17:46.21 ID:jJNmIoEx
>>276
出来ました!ありがとうございます!
279274:2012/02/14(火) 21:19:08.04 ID:jJNmIoEx
すみません、リロ忘れ…
>>277さんも丁寧にありがとうございました!
280Now_loading...774KB:2012/02/14(火) 21:53:21.02 ID:OU99ITjo
Arrarのconcat()でコピーできなかったかなと思って調べたら、浅いコピーは出来るみたいだな
中身が同じインスタンスを指すんでよければこれでいいんじゃね?
281Now_loading...774KB:2012/02/15(水) 14:54:35.94 ID:IGftIFeq
>>275
ArrayにArrayを入れられるか?という話なら普通に出来るが…。arr2.push(arr1);
282Now_loading...774KB:2012/02/15(水) 16:45:29.75 ID:LxmKkw/C
> new Vector.<displayobject>()
DisplayObjectなんかのプリミティブ型以外のオブジェクトなら通常のArrayでも
速度的には大差無いと思うんだけど実際のところどうなんだろな
283Now_loading...774KB:2012/02/15(水) 19:26:38.22 ID:FWjTH1OX
>>281
うまくいきません。
arr1をarr2に入れて、別のarr3にもarr1を入れてるからかな。
284Now_loading...774KB:2012/02/15(水) 19:39:40.91 ID:BhE6EVFB
>>283
出来ないわけないが、質問の意図が、
arr1に入れた要素全てをarr2に入れられますか?
ってことなら、やり方が違う。
arr1に入れた要素全てを取り出して、arr2に入れないといけない。
285Now_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でまとめて指示したいのです。
286Now_loading...774KB:2012/02/15(水) 20:44:57.70 ID:BhE6EVFB
arr3にa,b,c,d,e,fを入れればよい。

Array#concat()を使ってもいけると思うが確認してくれ。
287Now_loading...774KB: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]

これでどうだ
288Now_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は折り返し無しでそのまま表示します。
289Now_loading...774KB:2012/02/15(水) 23:04:15.54 ID:NNKP89Lx
>>286
concat()で行けました。
ありがとうございました!!
290Now_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;
ではどっちで記述するのが正しいのでしょうか?
291Now_loading...774KB:2012/02/16(木) 01:55:31.89 ID:OqG0T3yN
どっちが正しいとかないが後者のほうが速いとは聞く
292Now_loading...774KB:2012/02/16(木) 11:12:47.51 ID:SteCjB9d
可変長なら前者と言いたいところだが、
Vectorを使いたい時点で固定長を意識した方が良い。

Vectorでpushを使う時は可変長であることを明示的にするような時かなぁ。
まぁおれルールだけど。
293Now_loading...774KB:2012/02/16(木) 12:35:48.21 ID:g876XNz4
>>291
>>292
あざす。
2つ目の記述でやってみます!
294Now_loading...774KB:2012/02/16(木) 18:19:11.18 ID:g876XNz4
インラインフレームみたいのって作れるの?
295288:2012/02/16(木) 19:41:09.85 ID:IOt2OXK2
すいません。誰か分かりますか?
要約すると、テキストフィールドサイズを 800×600 → 800×800 → 400×300 ・・・
とかで変化させた時の表示行数で、横方向のスクロールは常に設定しているので
各行が長くても水平スクロールで対処しています。

296Now_loading...774KB:2012/02/17(金) 02:40:04.52 ID:YCyJ7oYl
まじで?vec[0]、vec[1]、vec[2]とか書くの?
開発中にvec[1]が不要になったら、いちいちvec[2]をvec[1]に書き換えるの?なんかカルチャーショックだわ
297Now_loading...774KB:2012/02/17(金) 02:46:08.00 ID:SguoM0bg

pushでなくインデックス指定というだけの話だけど?
298Now_loading...774KB:2012/02/17(金) 02:58:26.80 ID:YCyJ7oYl
>>295
よくわからんし、試してないけど
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/text/TextField.html に

bottomScrollV 指定されたテキストフィールドの現在の表示範囲で最終行を示す整数です

ってのがあるけど
これでどう?


>>297
いや、分かってるけど
299288:2012/02/17(金) 11:08:33.95 ID:1fjEgm7M
>>298
さんきゅうです。
初期状態なら0から始まるのでbottomScrollVでも対処できますが、
スクロール途中では表示先頭行の番号が不明なので・・・
なんとかやってみます。
300Now_loading...774KB:2012/02/17(金) 11:56:57.41 ID:KEIXzgCy
>>296
Vector使う時って10個の配列扱う時とかじゃないでしょ?
ループを高速に処理したいからVector使うかってなるわけで、
そんなときはvec[i]とかそういうアクセスのしかたが普通でしょ。
もちろん開発中はずれることはあるだろうね。vec[i+3]になったりとか。
301Now_loading...774KB:2012/02/17(金) 17:31:22.55 ID:nDCWlPNW
>>299
scrollVとbottomScrollVの間が現在表示されてる範囲、と書いてあるが

>>300
えー。そもそも大量に固定長の配列が必要になるって、何?
302Now_loading...774KB:2012/02/17(金) 18:28:23.80 ID:p2jCZExJ
話題のVector使ってみたけどなかなか大変だな undefinedがエラーなのはいいとして
foo[ 0 ] = 10;
foo[ 2 ] = 100;//順番で設定しないとエラーて!
foo[ 1 ] = 1000;
303Now_loading...774KB:2012/02/17(金) 18:44:33.05 ID:KEIXzgCy
>>300
言ってることがわからんが、
パーティクルとかの画像処理を短い可変長で処理することなんか考えにくいんだが。
ある程度まとまった同じ物を高速に処理したいから(処理したい要望が多いから)、
ベース型固定の配列Vector<T>が追加されたわけだ。

たいした数も無いのにわざわざ制限の多いVector使う必要性を感じない。
304Now_loading...774KB:2012/02/17(金) 18:47:47.74 ID:KEIXzgCy
う、間違えた
>>303>>301
305Now_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;}}
だけだと思っていたんですがスイマセン教えてください!
306Now_loading...774KB: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はそのソース内で全く使ってないな
307Now_loading...774KB:2012/02/17(金) 20:18:58.14 ID:S/ZZMj6I
>>303
いや。うん。だから、長い可変長で使うのが普通だよね
>>292が「Vectorは固定長を意識」とか言ってるから、それに対してレスしてるんだけど
308288, 299:2012/02/17(金) 20:28:14.13 ID:L5yN7HP6
>>301

(´・ω・`) ゴメンチャイ。見落としていた。
309Now_loading...774KB:2012/02/17(金) 20:31:12.17 ID:+5zzT17q
Vectorは密な配列だから速いけど挿入や削除の処理が重くなる
fixedなんてプロパティがあるくらいだしな
とはいえ、万単位の長さで処理くらい行かないと体感できるほどの差は出ないだろうけど
310Now_loading...774KB:2012/02/17(金) 20:36:28.18 ID:KEIXzgCy
>>307
え?可変長にしたときってのが…具体的に言うとpush自体をやりたくないんだけど。
http://help.adobe.com/ja_JP/as3/mobile/WS4bebcd66a74275c3a0f5f19124318fc87b-7fff.html

>Vector のサイズが時間よりも先に指定されない場合、Vector の容量が不足すると、サイズが増えます。
>Vector のサイズが増えるたびに、メモリの新しいブロックが割り当てられます。
>Vector の最新の内容がメモリの新しいブロックにコピーされます。
>データを余分に割り当てて複製することにより、パフォーマンスに影響があります。
>上述のコードでは、Vector の初期サイズを指定することでパフォーマンスが最適化されています。
>ただし、コードの保守性は最適化されていません。保守性も改善するには、再利用された値を定数に保存します。
俺の勘違いかと思って調べちゃったよ。

俺の主張は最初から、Vectorを利用する時点でパフォーマンスが気になってるんだろうから、
パフォーマンスに影響ある可変長の利用をやめておこうってことだ。
311Now_loading...774KB:2012/02/17(金) 20:37:40.43 ID:KEIXzgCy
>>309
100x100で万オーダーだよね。
312Now_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で格納してるから?
313Now_loading...774KB: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以外のチェックは不要になる
314Now_loading...774KB:2012/02/17(金) 21:33:36.38 ID:S/ZZMj6I
>>310
うーん。だから、設計思想の違いでしょ
ループなんか画面描画に比べたら微々たるものなんで、保守性を考えたら無視しちゃうね、って
315Now_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パターンだったら結局処理作業は一緒なのですか?
またはもっといいやりかたがある?
316Now_loading...774KB:2012/02/17(金) 22:01:39.51 ID:S/ZZMj6I
うーん。最後のが良いんじゃない?

俺ならボタンにムービークリップへの参照を持たせちゃうかな
言ってる意味わからないかも知れないけど
317Now_loading...774KB:2012/02/18(土) 00:00:36.74 ID:HDvxo8mQ
>> 314
ちがうなぁ、設計思想より後のチューニングレベルの話。

>ループなんか
これを本気で言っているのならびっくりするが。
ループの中で描画する要素なんかいくらでもあるだろ。

>ループなんか画面描画に比べたら微々たるものなんで
ここを考えて設計思想で語るなら、
微々たるような場合にVectorを使う選択をしないとなるな。
Arrayで十分と。>>313が言うような仮に間違えた場合ってのがあったとすると、
それは設計がまずいって事になる。

>>315
俺も最後のやり方を選択するだろうなぁ。
ボタンの役割がそれしかないなら、ボタンのイベントハンドラは一つにまとめてしまう。
最初にすべて非表示にして、イベントのソースがAならa表示っていう風に。
318Now_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もしかりで
319Now_loading...774KB: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: //以降略

こんな感じでいけると思うが。書いてて、引数を渡してしまうほうがいいことに気づいたがまぁこっちを理解してくれ。
320Now_loading...774KB:2012/02/18(土) 21:11:41.39 ID:teRRq7Cr
>>319理解できぬー。
>>318みたいなやり方はあまりよくないですか?
    
321Now_loading...774KB:2012/02/18(土) 21:36:45.79 ID:Lkc19fcT
>>320
一個一個よんだらわかるだろ
322Now_loading...774KB:2012/02/18(土) 22:27:20.41 ID:3YkaDqya
やり方の良し悪しとか聞かれてもな
動くなら何でもええがな
323Now_loading...774KB:2012/02/19(日) 00:28:55.69 ID:yeBKkr9h
>>322確かに。
スプリクトをまとめられる方法が
あったら活用したいなと思って。
今こういうのできないかなと思っているのは
ABCの3つのインスタンスをそれぞれ
マウスが上にきたとき半透明になって
マウスが外れたら元に戻るようにしてるんですけど
これも一括で指示できたらなと
>>319理解できたらできそうですかね?

324Now_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;
}
みたいな感じでできました。
325Now_loading...774KB:2012/02/19(日) 18:26:03.76 ID:f8M6VGgs
Flash Builder 4.6/Windows7です。
s:Imageを使ってmxmlにswfを埋め込んで表示すると、スタンドアロンFlash Playerで読み込んで
ウィンドウを拡大したときにビットマップを埋め込んだときみたくジャギーが出てしまいます。
直接swfを読み込んで拡大するとシェイプなので当然スムーズな拡大ができるのですが、
mxmlに埋め込んだ状態でも同じ状態にするにはどうすればよいのでしょうか?
326Now_loading...774KB:2012/02/19(日) 23:13:51.62 ID:DmeOPZ/t
>>325
UIComponentを継承したクラスを作ってそこに埋め込んで内部でインスタンス化→addChildするとか
んでmxmlに作ったクラスをタグで書く
327Now_loading...774KB:2012/02/20(月) 03:47:51.30 ID:u7ALn6Bw
AS3でのXMLで質問です。

MCのswapChildrenみたいな感じでノード(要素)の順番入れ替えはどうやれば
簡単にできますか?
個別の参照は簡単に出来ますが、列挙する際や全体を見渡す際に順番が重要なので。
ヘルプを見ましたが、insertChildAfterやinsertChildBeforeは挿入のみでした。
328Now_loading...774KB:2012/02/20(月) 09:14:36.01 ID:tqhvBSLI
AS3です
HogeからFooをnewし、FooコンストラクタからそのままBarをnewしようとすると、
「引数の数が正しくありません。1 個以下であることが必要です。」
と出るのですが、コンストラクタからのインスタンス化はよくないのでしょうか
329Now_loading...774KB:2012/02/20(月) 09:53:11.05 ID:XuPCcF8d
なわけねえだろ
親切にコンパイルエラーの原因書いてくれてるのにガン無視かよ
330Now_loading...774KB:2012/02/20(月) 10:39:06.49 ID:tqhvBSLI
>>329
ありがとうございます
Barの引数をいくつにしてもそう出るんです
例えば、Barの引数を3つにして、Fooから1つ以下を渡せば、エラーは出ません
逆に、HogeからBarをnewすれば(コンストラクタじゃない位置から)、
「引数の数が正しくありません。正しくは 3 です。」と出てくれます
331Now_loading...774KB: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 ]);
みたいな感じでがんがれ
332Now_loading...774KB:2012/02/20(月) 13:12:33.57 ID:yqyk706o
pubkic じゃなくて publicなw
333Now_loading...774KB:2012/02/20(月) 13:43:25.41 ID:ce4zyWnj
再現するクラスのコード見せてみ。噛み合ってないわ。
334Now_loading...774KB: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){
}}}
335327:2012/02/21(火) 07:31:32.75 ID:dLQZS1YQ
>>331
やっぱそういう方法に落ち着くのですね。
336Now_loading...774KB:2012/02/21(火) 12:24:52.20 ID:6Qa4wvjV
>>314
このループなんかって書いてる奴はホントに思ってるのかな?
ループの中でbitmapdata触ったりしないんだろうか??
337Now_loading...774KB:2012/02/21(火) 14:54:41.75 ID:ePNvSvPU
FlashProとBuilderの連携で困ったことがあったので質問

BuilderだとコードヒントでremoveChildrenが出てくるんだけど
Proの方でswf書きだそうとすると
#1069: flash.display.Sprite にプロパティ removeChildren が見つからず、デフォルト値もありません。
が出てしまう。
ライブラリパスはどっちも同じように設定してるはずなんだけど・・・
removeChildrenってFP11のplayerglobal.swcに入ってる・・・で間違ってないよね?
338Now_loading...774KB:2012/02/21(火) 15:20:56.94 ID:vQq6hp4a
何をどうやったかしらんけどここみれ。
http://cuaoar.jp/2012/01/flash-player-112-air-32-1.html
ライブラリパス設定しても無駄だから。
339Now_loading...774KB:2012/02/21(火) 16:28:48.33 ID:ePNvSvPU
ありがとう 試してみる
340Now_loading...774KB:2012/02/21(火) 16:47:31.45 ID:ePNvSvPU
ExtensionManagerが管理者権限で起動しても権限どうたらこうたら出てしまうので、
できるまでremoveChildrenやら使わない方向で行きます・・・
341Now_loading...774KB:2012/02/22(水) 00:32:42.80 ID:3hHo2Jqu
removeChildrenなんてなくてもいいだろ
Stage3D使わないのにターゲットをFP11にする意味はないな
342Now_loading...774KB:2012/02/22(水) 00:49:07.55 ID:Tf4jVTsr
>>336
いや「ループ自体」は速くなるんだろうけど、その中のdrawに掛かる時間は一緒でしょ?
343Now_loading...774KB:2012/02/22(水) 08:04:54.01 ID:oirG2aPR
>>341
問題の焦点そこじゃない
344Now_loading...774KB:2012/02/22(水) 12:28:04.09 ID:979q3B4N
>>342
ループ自体が早いって話はなに?

ArrayよりVectorのほうが高速に要素にアクセス出来るっていう話が前提で、
描画時間にくらべれば、要素にアクセスする時間なんか無視できるぐらい小さいっていってんの?

345Now_loading...774KB:2012/02/22(水) 13:02:16.19 ID:oX4oxnAi
Flashライブラリを作っているんだけど、ちょっとした便利関数を作る場合
・カテゴリごとにパッケージ作って丸裸の関数を入れるか、
・それともカテゴリごとにクラス作ってstaticメソッドとして実装するか
どっちの方が良いのだろうか?Adobe的にはどっちのやり方を推奨しているのかな
346Now_loading...774KB:2012/02/22(水) 13:05:00.14 ID:qhKKZGjt
チェスやオセロなんかの大量の単純計算ならArrayとVectorで速さに明確な差が出るが
比較的重い描画系処理ならたいして変わらないって話じゃない?
347Now_loading...774KB:2012/02/22(水) 13:08:46.30 ID:qhKKZGjt
>>345
推奨なんか特に無いお
便利関数ならカテゴリ云々はわからんがstatic実装だろうな〜
複数インスタンスなんかめったに利用しないだろうしstaticの方が速い
348Now_loading...774KB:2012/02/22(水) 13:22:04.90 ID:oX4oxnAi
>>347
いや、ウチが言いたいのは
package 大カテゴリ.小カテゴリ{ public function 便利関数():void{...} }
か、あるいは
package 大カテゴリ
{
 public class 小カテゴリ{ public static function 便利関数():void{...} }
}かなんだが……。
static実装には同意
349Now_loading...774KB:2012/02/22(水) 13:42:30.91 ID:meU+M1II
コミュ障ばっかだなあw
350Now_loading...774KB: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を固定長で使わないっていう主張がまるで理解できない。
351Now_loading...774KB:2012/02/22(水) 14:25:53.38 ID:meU+M1II
型が不定なのがクソキモいって人もいるんじゃないの?
君がVector可変で使うのがクソキモくて理解できないのと同じで。
352Now_loading...774KB:2012/02/22(水) 14:28:00.20 ID:meU+M1II
目的が速度だったらpushしてるのはアホだろうけど、必要感じてないらしいからね。
353Now_loading...774KB:2012/02/22(水) 14:48:40.70 ID:xEPG2eul
pushって遅くなんの?
どれくらい?
354Now_loading...774KB:2012/02/22(水) 15:00:06.86 ID:xEPG2eul
2乗するのにビット演算の方が速い、みたいな「根本原理」的な話?
355Now_loading...774KB:2012/02/22(水) 15:01:45.08 ID:xEPG2eul
ageてスマン
356Now_loading...774KB:2012/02/22(水) 15:16:44.77 ID:xEPG2eul
何度もスマン。自分で測ってみたから質問下げる
357Now_loading...774KB:2012/02/22(水) 15:45:42.66 ID:979q3B4N
>>351,352
そういう人も居るだろうけどね、Arrayってもともとそういうものだよ??
型固定じゃないとイヤなのに、intとかプリミティブ型で宣言したのに、Booleanをpush出来てしまう
暗黙的型変換が許容できるのがクソキモイ。

必要感じてないのにVector使うのは俺には理解できない。
pushで最大サイズの拡張が行われたら、Arrayより遅くなるのに。

>>353
いまテストしてみた。100万の配列アクセスの場合。
最悪Arrayの4倍遅い
固定長(Fixed)の20倍
http://wonderfl.net/c/aIfc

358Now_loading...774KB:2012/02/22(水) 15:48:06.30 ID:979q3B4N
テストしたんか…俺の20分返せ!w
359Now_loading...774KB:2012/02/22(水) 18:19:47.27 ID:VgwNTH2O
俺のいる板だと会話がすぐ煽り合いになるが
マは平和でいいわ
360Now_loading...774KB:2012/02/22(水) 18:34:28.92 ID:3hHo2Jqu
>>350
型決定による速度向上と補完による効率があるからぜんぜんちがうよ
pushで使おうがArrayのpushより速いんだし意味ないわけないじゃない
361Now_loading...774KB:2012/02/22(水) 18:38:48.95 ID:3hHo2Jqu
ああArrayのpushより遅い場合があるのね
失礼

俺は補完(だいじ まあArrayでもできなくはないけど)と型決定があるから常にVectorを押すよ
push使おうが遅くなるのは出し入れする時だけなんだから、読むときはArrayより速いわけじゃん

ネイティブでArray使わされる場合(filterなど)以外はVectorつかうよん
362Now_loading...774KB:2012/02/22(水) 19:05:13.98 ID:8QtLEpE+
push遅いのか

pushみたいな感じので一番速いのなんだろう
363Now_loading...774KB: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みたいに添字で書くことなんか普通のことなんだけど、おかしい?
364Now_loading...774KB:2012/02/22(水) 21:56:18.99 ID:3hHo2Jqu
>>363
添字が基本なことに突っ込んでるんじゃないよ
pushで使わざるを得ない時に時にVectorを使うのはアホっていってるのに対して言ってるの

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

矛盾してないよ
出し(pop)入れ(push)するときはArrayより遅いかもしれないけど、readする時は確実に速いので使い方如何では一概には言えないでしょ、って意味
365Now_loading...774KB:2012/02/22(水) 23:29:59.37 ID:979q3B4N
>>364
えー。Vectorが密な配列、連続したメモリ領域だから早いわけで、
その連続したメモリ領域を確保するためにジェネリクスの構文をわざわざ拡張したんじゃないか。
順序が逆だと思うが。

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

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

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

初期化時間がほんの少し変わる程度のレベル。
使い回しで運用するなら何も変わらない。
好みでいいよホント。
367Now_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 のあとの変数名はかえなければならないのでしょうか?
基本的な質問ですいません。

368Now_loading...774KB:2012/02/23(木) 23:17:12.04 ID:4zJ2MKxN
同じ関数内ならまた使える
他で使いたいなら別の変数で受けておくんだけど >別のスクリプト ってなんやねん
クラスファイルならメンバ変数用意して入れとけば同クラス内のどこからでも参照できる
369Now_loading...774KB:2012/02/24(金) 00:51:13.38 ID:lFddvvqM
>他で使いたいなら別の変数で受けておくんだけど
具体的にどうやるのですか?
370Now_loading...774KB:2012/02/24(金) 00:59:51.37 ID:B98DNoNH
ARR.visibleとか頭痛くなるからやめて(>_<)
371Now_loading...774KB:2012/02/24(金) 01:02:16.44 ID:sjrQC//F
大文字はないな
372Now_loading...774KB:2012/02/24(金) 01:07:00.75 ID:sjrQC//F
警告無視すれば、同じ変数名使っても問題なく動くよ
まあコードとしては問題あるから警告出るんだけど

あるいはArray#forEachとか使えば警告出なく出来るかな
373Now_loading...774KB:2012/02/24(金) 01:49:25.81 ID:mgywVX5W
スレ違いと分かってながら、人が今見てそうと思って皆にヘルプ><

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

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

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

   教えてエロい人><
   
374Now_loading...774KB:2012/02/24(金) 02:12:23.40 ID:O3+Z2z4C
>>373
スレチ
まで読んだ
375Now_loading...774KB: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()

何が足りないのでしょうか?

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

377Now_loading...774KB: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 ] );
}//試してないっす
378Now_loading...774KB:2012/02/24(金) 11:09:58.85 ID:6mEC4lLr
クラス名が小文字で始まるのが気持ち悪いが、
stage.getChildByName(name_str)で複製元がとれるんで、
squareClassにcloneメソッド(クラスのメンバを複製するメソッド)を追加して
やってみればいいんじゃないかな。
379Now_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にはしっかり テスト と入っています。
どうすればよろしいのでしょうか?;;
380Now_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となってしまいます。
必要以上に小さい桁を切り捨てたいのですが、どうすればよいでしょうか?
381Now_loading...774KB:2012/02/24(金) 12:46:27.28 ID:6mEC4lLr
>>379
そのスクリプトの最後のほうの
trace(in_text.text); で
なし
テスト
と表示されるなら、default側に来てるってことでしょ。

>>380
Numberは浮動小数点だから、0.3ってものが表現できない。
文字列でフォーマットするか、int/unitで処理して10で割るとか
工夫が必要
382Now_loading...774KB:2012/02/24(金) 12:58:10.79 ID:89pLhC/J
379です。説明不足すみませんでした。
入力フォームでテストと入力してcase"テスト"と一致させ
テスト
を出力させたいのですが、
381で仰られている通り、テストと入力しても一致せずdefaultに流れて
なし
テスト
と表示されています。
一致させて
テスト
を表示させるにはどこを直せばよろしいでしょうか?
383Now_loading...774KB: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;//小数点第二位まで
384Now_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] );} );

}

このように記述すると、コンパイルエラーが発生します。
385Now_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;
}

このように、第二引数のムービークリップの配置座標を変更する処理を行っています。
386Now_loading...774KB:2012/02/24(金) 13:30:13.03 ID:lJqfUYy5
すいません、上から4行目の

click_del( e , L_zero_n[0] ) :誤

 ↓

A(e,L[0]):正

の間違いでした。申し訳ありません。
387Now_loading...774KB:2012/02/24(金) 13:43:56.67 ID:6mEC4lLr
>>382
試したがうまくいく。
初期文字列に空白とかが入っているとか。
388Now_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);
}
}
389Now_loading...774KB:2012/02/24(金) 14:11:34.03 ID:6mEC4lLr
>>388
t.indexOf("\r");
ってやって、-1以外だったら改行コードがはいってることになるね。
390Now_loading...774KB:2012/02/24(金) 14:24:20.71 ID:89pLhC/J
>>389
trace(t);の下に
t.indexOf("\r"); いれてみましたが、
何も返ってこないですね・・・ということは改行コードが入っているのかな?
391Now_loading...774KB:2012/02/24(金) 14:28:27.96 ID:6mEC4lLr
あ、すまん。
trace(t.indexOf("\r"));
ってことです。
392Now_loading...774KB:2012/02/24(金) 14:31:58.80 ID:N7X/EAID
>>384
iの値は保持されないので、
Dictionary使うとか、L[i]にiの値を入れるための変数定義するとか
393Now_loading...774KB:2012/02/24(金) 14:34:27.31 ID:89pLhC/J
>>391
3が返ってきました('-';
-1じゃないので改行が入ってるってことですね(T-T)
394Now_loading...774KB: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; // 以降略
}
でよくない?
395Now_loading...774KB:2012/02/24(金) 14:43:45.74 ID:6mEC4lLr
>>393
ですねw
396Now_loading...774KB: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+" クリックしたインスタンス名により分岐処理" );
}
397Now_loading...774KB:2012/02/24(金) 15:19:13.09 ID:6mEC4lLr
>>393
TextFieldのmultilineをfalseに設定したら?
398Now_loading...774KB:2012/02/24(金) 18:55:47.76 ID:89pLhC/J
>>397
TextFieldのmultilineをfalseに設定して単一行にしてもやはり改行が入っちゃうみたいです(T-T)
とりあえず今、TextFieldのプロパティでClssic TextをTLFに変更したらいけました!(この辺まだ勉強してないので
これでいいのかわかりませんが)
改行コードに四苦八苦(削除だとか統一だとか)させられてますが、もうちょい調べて頑張ってみます。
399Now_loading...774KB:2012/02/24(金) 20:17:56.71 ID:NSUKlyLJ
初心者です。
ムービクリップの位置がX座標200/Y座標200にあって
mc.x=100;
mc.y=100;
と記述して位置を変更した場合、
これを『元の位置に戻す』みたいなことはできるのでしょうか?

400Now_loading...774KB:2012/02/24(金) 22:50:34.03 ID:6mEC4lLr
一発でできるようなもんはない。
けど、大して難しくないよね。元の位置を覚えておくだけで良いし。
401Now_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
402375: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 の参照を使用してアクセスしています。


何が足りないのでしょうか?
403Now_loading...774KB:2012/02/25(土) 11:06:52.72 ID:JczUZ3dj
>>402
stage["square"][0].xでどうかな?
404Now_loading...774KB:2012/02/25(土) 11:10:30.33 ID:JczUZ3dj
>>403
this["square"][0].xとか?
405Now_loading...774KB:2012/02/25(土) 11:12:15.84 ID:3jV9He3h
>>401
方法ない気がする。思いつかないだけであるかもしれないけど。

変数名よりpackage名の方を変える方が手間がかかるが、そっちの方が良いと思う。
ユニークになるようにちゃんと考えてからね。jp.hoge.foo.objectsとかするとそれっぽくなるw
406Now_loading...774KB:2012/02/25(土) 11:16:45.64 ID:aWGuWU9C
>>401
ちがう クラス名の後に()がついてっからだおおお
ここもintかuintにしとけ
var len:int = this.objects.length;
407Now_loading...774KB:2012/02/25(土) 11:36:37.43 ID:3jV9He3h
>>406
うぉ。ほんとや。
FlashBuilderで補完してくれんかったから出来んって思ってたが
コンパイルエラーにはならんねw
408Now_loading...774KB:2012/02/25(土) 11:40:34.28 ID:aWGuWU9C
>>402
クラスファイルにしてるのかフレーム記述なのかどっちだお
メソッド内でvar square:Array = new Array(); 宣言するとsquareはメソッド内のローカル認定されるから
他から参照できないんだ メソッドの外で定義して 参照するときは普通に square[ 0 ].x = 100; でおk

基本的な知識が足りてないぽいな どっかで基本だけお勉強してきた方がいいお
スレで答えが出るまで止まってたら作業なんて進まない
409Now_loading...774KB:2012/02/25(土) 13:08:43.52 ID:lm2JmoWd
>>402
考える意思
410Now_loading...774KB:2012/02/25(土) 17:57:19.25 ID:QMHGhDRb
まぁでも基本って調べようにも調べづらいしなぁ
411Now_loading...774KB:2012/02/25(土) 22:54:46.88 ID:LbXFu1/B
ActionScriptの勉強をはしめたいのですが、オススメの本やwebサイトはありますか?
412Now_loading...774KB:2012/02/26(日) 01:25:53.33 ID:FA8HEhiz
初心者です。
Arrayで格納した5つのムービークリップを
ある1つのボタンを1回押すたびに
[0]~[4]の順番に表示が切り替るようにできますか?
[4]まで行ったら次は[0]に戻るようにしたいです。
ActionScript3.0使用。
413Now_loading...774KB:2012/02/26(日) 01:41:41.23 ID:NOHvZtMq
表示が切り替わる というのをどのように実装したいか次第

配列としてのヒントは(i+1)%5
414Now_loading...774KB:2012/02/26(日) 01:59:23.05 ID:FA8HEhiz
>>413
もう少し詳しく説明お願いします。
スンマセン!
415Now_loading...774KB:2012/02/26(日) 02:03:56.03 ID:NOHvZtMq
>>414
まずやりたいことの問題を切り分けるのが大事
とりあえず
MC2つあった時にそれらをボタンアクションで切り替えることはできるの?
416Now_loading...774KB:2012/02/26(日) 02:18:37.53 ID:FA8HEhiz
今はボタンを押したとき
if(mc1.visible){mc2.visible= true;}
else if(mc2.visible){mc1.visible= true;}
と記述してます。
417Now_loading...774KB:2012/02/26(日) 02:20:26.66 ID:FA8HEhiz
↑えーと、2つとも非表示をしてからです。
418Now_loading...774KB:2012/02/26(日) 04:02:37.98 ID:NOHvZtMq
なら
mc[i].visible=false;
i=(i+1)%5;
mc[i].visible=true
でいいじゃん
>>413の時点で解決してるじゃん
419Now_loading...774KB:2012/02/26(日) 04:58:59.04 ID:m9AoyUQW
全部非表示にした後じゃ、そのifどこも通らなくね?
どうでも良いけど
420401:2012/02/26(日) 06:21:12.30 ID:QzLTKR1f
>>405
やはり名前を変えるしかないんですかね
もう少し足掻いてみますが他に手立てがなければそうします

>>406
抜け落ちてしまいましたが、Test():void、len:int です。
var len:int = this.objects.length; ←これでもエラーとなります。
>クラス名の後に()がついてっからだおおお
これはどういった意味でしょうか?
421401:2012/02/26(日) 06:23:11.96 ID:QzLTKR1f
>>406
見直したら間違っていました。クラス名の()もミスです。
コピペしてるわけではないのでこうなっていまい混乱させてすみません。
クラス名の()が無くても、エラーとなります。
度々申し訳ございません・・・。
422Now_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;
}
ってことですか?
423Now_loading...774KB:2012/02/26(日) 08:44:02.26 ID:Lkf+EnJk
>>418
422です。スイマセン、できましたー。
424Now_loading...774KB:2012/02/26(日) 09:26:05.06 ID:Lkf+EnJk
ん?[1]~[4]の順番に表示が切り替って
[4]まで行ったら次は[1]に戻るようにするにはどうしたらいいんだろ
425Now_loading...774KB:2012/02/26(日) 10:29:07.38 ID:eO5xqLJY
>>421
var len:int = objects.length;//メンバ変数にthisはいらないんじゃん?
これでもだめならもうわからん うちの環境ではパッケージ名と被ってもおkだった
426375,402: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()
http://sky.geocities.jp/ameryamery/403.fla

>>404
this["square"][0].xにすると以下のエラーが出てしまいました。
TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
at _403_fla::MainTimeline/moveSquare()
at _403_fla::MainTimeline/frame1()
http://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()
http://sky.geocities.jp/ameryamery/408.fla
何がいけないのでしょうか?

427Now_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を押していくと大丈夫なのですが。
すいません教えてください。
428Now_loading...774KB:2012/02/26(日) 14:52:03.32 ID:BaBydG0d
常駐して質問してる奴のサポセンみたいになってるなw

自分の頭で考えてからにしてほしいもんだ
429Now_loading...774KB:2012/02/26(日) 15:24:22.91 ID:MwIC8OEx
>>425
うちはFlash Professional CS5でエラー出る
>>407がFlashBuilderでエラーでないらしいから環境の違いかもね
430Now_loading...774KB:2012/02/26(日) 17:26:24.19 ID:/pJ926vy
FlashBuilder4.6です。
スタンドアロンFlashPlayerで表示するFlashムービーを作っているのですが
ウィンドウサイズを最低限UIComponent.minWidth及びminHeightより大きく
表示するにはどうすればよいでしょうか?

widthとheightを固定値にすればその大きさになってくれるのですが、
リキッドレイアウトを想定したデザインにしているため、
出来ればwidthとheightを100%から変えたくないのです。
431Now_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ボタンを押すと逆順番に表示したいのですが
うまくいきません。
432Now_loading...774KB:2012/02/26(日) 18:37:55.80 ID:S/Kz+fvk
そうですか
433Now_loading...774KB:2012/02/26(日) 20:24:54.18 ID:NOHvZtMq
>>431
理解したんなら二行目の意味よく考えれば応用できるだろ

ちょっとこの三行がなにやってるのか説明してみ
434Now_loading...774KB:2012/02/26(日) 21:04:12.46 ID:kPB8zu07
iの値を1ずつ増やして
4のときは(4+1)÷5で0に戻してるのは
分るのですが、
4からi+1の値を減らしてくのかな?
うーむ。
435Now_loading...774KB:2012/02/26(日) 21:16:25.12 ID:+stcZHxe
スレチかもだけどAS3について勉強できる書籍教えてください

cs5.5mcかったらflash5ついてたしMX以来久々に触ろうとおもったらmcやボタンインスタンスに直接書けなくなってるしわけわからなくて
436Now_loading...774KB:2012/02/27(月) 02:57:57.34 ID:l+BFSs+J
435
完璧にhtml5変換できるAS2のままの方がいいYO
437Now_loading...774KB:2012/02/27(月) 08:45:45.69 ID:r7EQhl8w
AS2でも完全な変換は無理
438Now_loading...774KB:2012/02/27(月) 09:12:10.77 ID:pxoBi0Rw
>>434
プログラミングに王道なし
キャッチボール(基本)もできないやつに外野フライ(応用)は捕れない。
439Now_loading...774KB:2012/02/27(月) 12:34:12.79 ID:pJgFFd1x
王道ないなら、やり方に指示なんか出来ないはずだが
440Now_loading...774KB:2012/02/27(月) 13:51:27.22 ID:2xdYP+vt
先人がかき分けた獣道があるよ
441Now_loading...774KB:2012/02/28(火) 00:57:35.64 ID:+3kwKHPV
言語によって道が決まるんだから
獣道とは違う
442Now_loading...774KB:2012/02/29(水) 06:11:52.55 ID:yk5bTvCS
ASでクライアントの能力を推定する方法を探しています。
CPUパワーやメモリ搭載量を直接知ることは出来ないので、1つの案として浮動小数点計算を
させて、手元のPCとの対比を考えています。

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

他に良い案はありますか?
443Now_loading...774KB:2012/02/29(水) 08:13:37.84 ID:DT4jDBvk
アンケート
444Now_loading...774KB:2012/02/29(水) 15:22:10.16 ID:A2/NE12S
>>443に一票
445442:2012/03/01(木) 01:14:43.50 ID:H0TTFYG7
>>443-444
不特定多数の人が対象なので、一旦SWFを起動してもらって
環境に応じて挙動を変えるのが目的です。
446Now_loading...774KB:2012/03/01(木) 01:29:47.26 ID:6LDBT280
一端SWF起動して、そこでアンケート

主に描画がネックなんだから、複雑な描画とかして
FPSとれば?
447Now_loading...774KB:2012/03/01(木) 01:34:11.10 ID:6LDBT280
そもそも自動的に挙動変えなくちゃいかんの?
PCゲームとかのように、オプションで変更可にするほうがよさそうに思えるが
448Now_loading...774KB:2012/03/01(木) 05:04:21.17 ID:yeGZKgHa
>>442
へぇ。面白いねそれ。俺もやってみようかな
449Now_loading...774KB:2012/03/01(木) 12:25:42.92 ID:Zf7WGHrJ
100ms位じゃぶれが大きくてつかえない。
かといって10秒3回とかやられたら
その時点でそのSWF閉じるな。

バックグラウンドで何かやってるのとかも影響するから
結局利用者に選ばせた方が良いと思うんだが。
450Now_loading...774KB:2012/03/01(木) 18:03:43.41 ID:Sapx7fqp
ActionScript3です。
public const hoge:Hoge = new Hoge(this)←こいつにthisを喰わせてやりたいのですが
そのままやるとうまくできません。どうやってthisを渡してやればよいでしょうか?
451Now_loading...774KB:2012/03/01(木) 18:11:13.22 ID:Sapx7fqp
>>450 自己レス。なんかの思い違いだったようです。
普通にthis喰わせることができました
452442&445: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

そんなにバラつきはなかった。
453Now_loading...774KB:2012/03/01(木) 21:40:02.82 ID:Zf7WGHrJ
>>452
同じ事やってるから最適化が走ってるとおもう。
JITの影響を排除しないといけない。

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

とココまで厳密にやる必要があるのかも疑問だけどね。
stage3dとか使ってるなら、パフォーマンスに明確な差が出るから
やった方が良いと思うが。
454442&445: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)
455Now_loading...774KB:2012/03/01(木) 22:00:32.17 ID:Zf7WGHrJ
いや、計算量がだからJITの影響あってもいいのか。
で、それでFPSどのぐらいになるかを試してみて、
いろんなスペックでベンチとって当てはめるぐらいか。
456Now_loading...774KB:2012/03/01(木) 22:03:03.93 ID:Zf7WGHrJ
いや、やっぱfillrateじゃないけど、グラフィックス描画でベンチしないと
あんまり意味無いな。
457Now_loading...774KB:2012/03/04(日) 03:35:28.19 ID:FY8TzlO7
AS3です
コンストラクタをinternalに、グローバル定数をpublicにしたいのですが、
コンストラクタはpublicのみなので、擬似的?に実装する方法はないでしょうか
クラスをinternal、定数をpublicにすると、定数を見つけてくれません
458Now_loading...774KB:2012/03/04(日) 04:47:37.50 ID:mImrIleb
なぜinternalにしたいかによるけど、コンストラクタにinternalなクラスのオブジェクト食わせるのが定石かな
459Now_loading...774KB:2012/03/04(日) 15:14:23.75 ID:FY8TzlO7
>>458
ありがとうございます
見せたいクラスはpublic、そのpublicクラスがinternalクラスを食べ、
publicクラス.internalクラスと使う感じですかね
そのやりかたでやってみます
460Now_loading...774KB:2012/03/04(日) 18:07:49.02 ID:AoE4Hu5+
秋元がどう動くかが気になる
461Now_loading...774KB:2012/03/04(日) 18:08:19.43 ID:AoE4Hu5+
誤爆すみません
462Now_loading...774KB:2012/03/04(日) 18:30:08.57 ID:V3Upn924
>>460
握手会また騒ぎあったね^^
463Now_loading...774KB:2012/03/04(日) 20:17:31.26 ID:mImrIleb
>>459
ClassAコンストラクタにClassBオブジェクトを食わせる方法
new ClassA(new ClassB() );//ClassBはinternalなのでClassAコンストラクタを実行できるのはClassBが作れる、クラス内のひとのみ
ってことだけど実はnull食わせればコンパイルエラーは回避できちゃう
464Now_loading...774KB:2012/03/05(月) 17:40:53.23 ID:1qpOi4Z2
cs3でAS3を使っています。
一つの画像を、別の何枚かの画像を使ってモザイクアート出来るようなライブラリ、
もしくは見本になるサイトってないでしょうか?
探したのですがなかなか見つからなくて。
よろしくお願いします。
465Now_loading...774KB:2012/03/05(月) 19:01:31.00 ID:dM0YzqOB
こういうソフトのこと?
http://www.lifehacker.jp/2009/07/foto-mosaik-edda.html
466464:2012/03/05(月) 19:33:10.86 ID:1qpOi4Z2
やりたいことはそういうことです!

具体的には、元々リンケージなりしてあるビットマップを使って、
ウェブカメラで撮影した写真を作るって感じなのですが。
467Now_loading...774KB:2012/03/05(月) 19:55:02.24 ID:dM0YzqOB
グレースケールだったら結構簡単にできるとおもうけど。
468Now_loading...774KB:2012/03/06(火) 01:57:20.29 ID:hXJ5b2h+
Lite1.1 AS2.0です。
FLASH内の変数をそのままツイートする機能を実装したいのですが、どうすればいいのでしょうか。
http://s.ameblo.jp/linking/entry-10622233667.html
これだと変数がフォームに用意されるだけで、ユーザーに書き換えられてしまうので。
469Now_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');
}
}// ここまでサブクラス
470469の続き:2012/03/06(火) 02:05:54.65 ID:t2PavSx0
こうしてメインクラスで var a:A = new A(); a.start(); とすると a が未定義プロパティ扱いされます。
ところが、class B の部分をコメントアウトして無効化し、呼び出しもしない場合はすると問題なく動作します。
ASファイル全体の構成は

package{
[ メインクラス ]
}

[ 上記のサブクラス群 ]

の順番です。 どうすべきでしょうか?
471Now_loading...774KB:2012/03/06(火) 02:17:39.74 ID:GZ01iWDP
>>468
swf単体では無理
OAuthでググれ

OAuth使うにしたってユーザーが書き換えられずに勝手につぶやかれるスパム機能は考えなおせマジで
472Now_loading...774KB:2012/03/06(火) 10:26:26.69 ID:BEuucfUQ
>>469
オーバーライドしてvar b:B に書き換えたんなら a:Aは未定義になるに決まってんだろ

クラスファイルのルールなんかは把握してる?
クラスファイル内には何個でもクラス定義できるがパッケージ外に定義したものは外から参照できず
同じファイルのクラスからじゃないと無理
パッケージ内にはパブリッククラス1個しか定義できない 関数、変数名も同じで同名なのは1個だけ
473Now_loading...774KB:2012/03/06(火) 10:33:45.69 ID:BEuucfUQ
あー もしかしてサブクラスをパッケージ外に定義しても使えないって話かな?
外部から呼べないから無理だよねw 試してないからわからんが
474469-470: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();
}
}
}
}
// この下に上記のサブクラス群
475466:2012/03/06(火) 11:20:32.85 ID:/xfsZyU/
>>467
グレースケールでも良いのですが、とにかく画像のピクセルの解析?なども
全く分からなくて手がつけられません…。
ライブラリでも参考でもいいので無いかなと探しているのです。
476Now_loading...774KB:2012/03/06(火) 11:22:16.44 ID:BEuucfUQ
気になったからこっちでも調べてみた
> override protected function run():void{
> override protected function run():void{
パッケージ外のクラスメソッドにアクセスするにはpublicじゃないとエラー出たな
publicに直してみ 親のクラスのも
477Now_loading...774KB:2012/03/06(火) 11:26:02.11 ID:BEuucfUQ
>>475
おめえのやろうとしてる事はかなりメンドイ事なんだお まずは普通のモザイクにチャレンジだ
ttp://hakuhin.jp/as/raster_efc.html#RASTER_EFC_02
478469-470: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でないと駄目っぽいです。
479Now_loading...774KB:2012/03/06(火) 11:55:49.43 ID:BEuucfUQ
ずっと勘違いしてたすまん やりたい事は
パッケージ外のプライベートクラスから他のプライベートクラスのインスタンス生成 って事だよね?
CS5.5でも実行されなかった(エラーは無し) 継承有りでも無しでも同じ エラーが出ないのが気持ち悪いな

結論:複数クラス定義は基本的に非推奨だからやめた方が吉 パッケージ外には関数だけにしとけ
480469-470:2012/03/06(火) 12:09:40.60 ID:v0s8nh6j
>>479
さんきゅう
「パッケージ外には関数だけにしとけ」 ・・・ 確かにそうではあるのですが、『そうめん』
の学習でttp://www.libspark.org/htdocs/as3/thread-files/document/ を参考にASを書いて
いるのでこうなっちゃいました。
481Now_loading...774KB:2012/03/06(火) 12:57:40.42 ID:GPnTKBOo
すみません。FileReferenceのsaveを使ってローカルにファイルを保存しているんですが、この時表示される選択ウィンドウをブラウザないしFlashの中央にする事って出来ますか?
中央でなくても位置指定の方法がわかれば教えてください。

482Now_loading...774KB: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>
483481,482:2012/03/06(火) 16:44:46.23 ID:GPnTKBOo
すみません。書き忘れてましたが、AS3です。FLEX3.5でやってます。
484464:2012/03/06(火) 18:36:44.21 ID:/xfsZyU/
>>477
ありがとうございます。
そのサイトは見ていたのですが、ようは、 new flash.display.BitmapDataを作って
置き換えている部分を、任意のBitMapにすればいいのではとは思ったのですが、
そこをどうすればいいのか…
すみません。ややこしいのですね。
485Now_loading...774KB:2012/03/06(火) 19:54:30.14 ID:EhOs+/Lo
処理速度を計算するときに何万回実行して〜ミリ秒って書いてあるけど、1万回だったら1回処理する時間は1万分の○ミリ秒ってこと!?
486Now_loading...774KB:2012/03/06(火) 21:56:20.87 ID:jirUcBgg
>>485うん
487Now_loading...774KB:2012/03/06(火) 22:17:25.60 ID:JEqpKhXB
すいません
loaderで読み込んだBitmapをアニメーションさせたいんですけど
どこかにいいソースコードありませんか?

MovieClipだと重くなるので同じことをBitmapでやりたいのですが
488Now_loading...774KB:2012/03/06(火) 22:37:03.96 ID:wRPJ8PVM
shapeのアルファを1から減らしたときに
描画の重なった部分が濃くなってしまうのを防ぐにはどうしたらいいのでしょうか?
489Now_loading...774KB:2012/03/07(水) 01:05:38.24 ID:mQPB0RZz
>>488
alphaってのは透過させたい時に使うもんだ
単に薄くしたいなら描画する色を薄くするべし
490Now_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;
としました。
491Now_loading...774KB:2012/03/07(水) 20:51:15.02 ID:G9/qLnFN
>>486
えっ!?そんなに速いの!
趣味でホームページにFLASHの簡単なゲーム作ろうかなって思って勉強してて
なんか重いイメージがあったから処理を的確に
最適なものをしていかないと行けないと思ってたんだけど
ある程度動くのかなー、
着せ替えゲームみたいなのにしようと思ってるんだ。
でも描画処理に時間かかるのか。
とにかくAS3うまく書かないとスゴい遅くなるイメージ。
492Now_loading...774KB:2012/03/07(水) 23:52:59.23 ID:f7rHHWYU
>>491
デバイスのスペックと処理ないようによる
ゲーム系は重たくなりやすいから気をつけたほうがいい
493Now_loading...774KB:2012/03/08(木) 02:14:34.70 ID:OEvufe+3
>>491
着せ替えゲームのようなもので、描画処理が間に合わないとかまずない。
よほど古いスペックのデバイスでもない限り、描画速度は十分。
494Now_loading...774KB:2012/03/08(木) 12:13:29.18 ID:REg53ZMI
そっか。
ちょっと安心した!
生意気にも去年でたMacBookPro使ってるから、他の環境ではどう動くか気になってた。
描画処理って線>面>ビットマップって載ってたよ、イラレでイラスト書いたとき線つけてしまった。
495Now_loading...774KB:2012/03/08(木) 14:55:20.82 ID:pNBMVxWh
素人が普通に作ったFlashなら描写余裕
素人がちょっと調子に乗っちゃって変なことやると重くなる
496Now_loading...774KB:2012/03/08(木) 23:00:39.08 ID:rfoK0QZq
質問です
actionscript3のmxml
<s:Application xmlns:fx="http://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>

↓へ続きます
497Now_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内だけでは対応はできないのでしょうか?
498Now_loading...774KB:2012/03/08(木) 23:47:01.72 ID:OEvufe+3
なんのために IMXMLObjectをインプリメントしているかわかってるんかな??

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

MXMLを介在させることを前提にするなら、aaaに実装したinitializedの引数document
がそのMXMLのインスタンスだから、それをつかってアクセスすればいい。
499Now_loading...774KB:2012/03/08(木) 23:51:04.17 ID:OEvufe+3
微妙に間違ってるな。
> MXMLを介在させることを前提にするなら、aaaに実装したinitializedの引数document
> がそのMXMLのインスタンスだから、それをつかってアクセスすればいい。
MXMLを介在させることを前提にするなら、bbbに実装したinitializedの引数document
がそのMXMLのインスタンスだから、それを保存しておいてアクセスすればいい。
document.class1でaaaのインスタンスにアクセス出来る。
500Now_loading...774KB:2012/03/08(木) 23:56:56.79 ID:RQriW7tp
スレチかもしれませんが、phpとの通信で質問です。
http://www.artful.jp/blog/archives/2006/12/flashphp_1.html
ここにある通りの処理をしている筈なのですが、flashのムービープレビューだと
値の中身がうまく表示されません。(phpの本文が出力されている)
一応phpとは通信できているようなのですが、どうすればいいのでしょう?
apacheは起動してます。
501Now_loading...774KB:2012/03/09(金) 00:24:36.43 ID:Nm8Z6QoR
phpがApacheに正しく組み込まれているか確認してみた?
502Now_loading...774KB:2012/03/09(金) 00:26:38.30 ID:6NqzAfxe
>>501
php単体だと平気だったので(echoとかで中身が表示されてる)
通信の仕方が悪いのか、確認の仕方が悪いのか……
503Now_loading...774KB:2012/03/09(金) 01:16:45.24 ID:Nm8Z6QoR
> (phpの本文が出力されている)
って時点で、httpヘッダがオカシイわけだしねぇ。
リクエストのURLをブラウザにそのまま張るとどうなるの?
504Now_loading...774KB:2012/03/09(金) 01:34:54.54 ID:6NqzAfxe
$var='野獣先輩';
echo "&var=".$var;
apache起動後アドレスバーにphpファイル名を入力すると、
ブラウザ上には野獣先輩と表示されています。
ところがムービープレビューでtraceしてみると.$var. ?>みたいな事が表示されます。
505Now_loading...774KB:2012/03/09(金) 01:51:53.66 ID:Nm8Z6QoR
うーん。全部みんとわからんが、URLじゃなくてファイル名ってところが気になる。
506Now_loading...774KB:2012/03/09(金) 01:56:03.40 ID:6NqzAfxe
>>505
http://localhost/test.php
これだとブラウザに値が表情されてます。
phpはよく分からないのですが、これで大丈夫なんですよね?
507Now_loading...774KB:2012/03/09(金) 07:27:14.62 ID:nhdm0wKt
>>498-499
ありがとうございます
助かりました
508Now_loading...774KB:2012/03/09(金) 10:09:35.29 ID:FoTObuVR
ゲームの攻撃エフェクトを作りたいのですが、探しても無くて困ってます
"エフェクト"だと画面効果ばかりヒットしてしまって
エフェクトとかパーティクル以外でそういうものが検索できる言葉ってありますか?
509Now_loading...774KB:2012/03/09(金) 10:12:23.05 ID:DhA3tMNh
>>508
どんなエフェクトだよ
510Now_loading...774KB:2012/03/09(金) 12:01:30.32 ID:ro8kmz1f
>>506
それで表示されるんなら大丈夫やね。
traceした結果が、スクリプト全部出てくるほうがまだわかりやすいけど、
一部しか出てないのかな?

ムービープレビューじゃなくて、一度デプロイしてみてためしてみたらどうだろう。
511Now_loading...774KB:2012/03/09(金) 14:46:44.67 ID:W67uIt+F
PHP側の文字コードの話じゃないの。
512Now_loading...774KB:2012/03/09(金) 15:17:28.20 ID:ro8kmz1f
それだったら文字化けしたとか、結果がちがうくない?
513Now_loading...774KB:2012/03/09(金) 17:29:36.39 ID:DhA3tMNh
?>が表示されてんだからphp側の問題じゃないの?

phpコードさらさない限りわからんけど
514Now_loading...774KB:2012/03/09(金) 20:21:16.85 ID:6NqzAfxe
本文は>>500まんまです。
UTF8で保存しています。
515Now_loading...774KB:2012/03/09(金) 20:28:07.23 ID:WQ12JlUO
>>514
一番最初に<?phpいれてる?
516Now_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)で見るとしっかり指定した色が参照できます。

つまづいてます。どこが問題なのでしょうか?
517Now_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);

?>
と表示されてしまいます。
518Now_loading...774KB:2012/03/09(金) 23:10:57.08 ID:DhA3tMNh
>>517
本当にphpサーバー動いてる?
拡張子.phpになってる?
519Now_loading...774KB:2012/03/09(金) 23:18:21.21 ID:6NqzAfxe
>>518
拡張子はphpですし、apache起動後にアドレスバーからURL入れて表示させる分には上手くいってるみたいです。
両ファイルともhtdocsに入ってます
520Now_loading...774KB:2012/03/09(金) 23:32:53.15 ID:Nm8Z6QoR
はじめの方の書き込み見てないんだろうな・・・。
521Now_loading...774KB:2012/03/09(金) 23:33:37.26 ID:Nm8Z6QoR
で、>>510が言ってることは実行したの?
522Now_loading...774KB:2012/03/09(金) 23:54:07.16 ID:6NqzAfxe
デプロイですか?
phpに触れるのは始めてなのでよくわからないのですが、
デプロイするにはカピストラーノ等を導入しないといけないのでしょうか。
ちなみにメモ帳で書いてます。
as以外は初めてなのですいません。
523Now_loading...774KB:2012/03/10(土) 00:18:07.73 ID:a49Ax5zH
>>519
phpが動いてないか直接ファイルをよみこんでるかなんだよな
524Now_loading...774KB:2012/03/10(土) 00:31:22.51 ID:F+ac7yjX
>>523
FLASH側ではsendAndLoadで読み込んでます。
525Now_loading...774KB:2012/03/10(土) 08:31:18.07 ID:XvLR9ZOc
flash初心者です
ある動作をランダムに行いたいと思っているのですが、
どうすればいいのかわかりません。

ある動作をランダムというのは、
例えばシンボルが4つあり、それを下(ステージ外)から
ランダムに泡のようにうようよと浮かび上がってくる感じです。
526Now_loading...774KB:2012/03/10(土) 09:06:24.77 ID:FJxgO3qB
>>525
先ず、制作環境を書きましょう。
あと「ActionScript 泡 浮」で調べよう。
527Now_loading...774KB:2012/03/10(土) 10:28:49.37 ID:a49Ax5zH
>>524
Flash自体もhttp://localhost/○○.swfに置いてる?

サーバーに上げたら確実に解決するよ
528Now_loading...774KB:2012/03/10(土) 10:53:47.14 ID:XvLR9ZOc
>>526
すいません、忘れてました
でも、言われた通り検索してやってみるとイメージ通りだったので解決しました
どうもありがとうございます
529Now_loading...774KB:2012/03/10(土) 12:21:00.73 ID:XvLR9ZOc
またすいません、先ほど質問した者です。
AS3で、
あるボタンを押すと指定された画面内に表示される動作をしたいと思ってるのですが、
この場合ターゲットパスで良いのでしょうか?
その画面が一枚絵ではなく、色々動作を加えたものなのですが…
530Now_loading...774KB:2012/03/10(土) 19:16:52.61 ID:F+ac7yjX
>>527
サーバーに上げても無理でした。
どうやらflashがtxtとして読み込んでるみたいです。
プロパティを見るとphpなのに、どうなってるんでしょうか?
531Now_loading...774KB: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("接続失敗");
}
};
532Now_loading...774KB: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単なら問題無く動作しています。
533Now_loading...774KB:2012/03/10(土) 20:36:15.37 ID:a49Ax5zH
>>530
ロリポップサーバーに上げてみたけどうまくいくぞ
URLはhttp://から入力したけど
534Now_loading...774KB:2012/03/11(日) 15:44:26.37 ID:ReD4Z46d
結局>>505が言ってたオチか。
535Now_loading...774KB:2012/03/14(水) 00:30:02.77 ID:tbIOcVor
>>533
自鯖に上げたところ、値を読み込むようになったのですが
やはりローカルで実行するとphpをtxtと思って読み込んでしまうみたいです。
これはapacheが悪いのでしょうか?
536Now_loading...774KB:2012/03/14(水) 00:32:00.84 ID:tbIOcVor
なんでもないです。できました。ありがとうございます。ありがとうございます。
537Now_loading...774KB:2012/03/15(木) 18:21:10.63 ID:uvKQMrOe
複数の画像ファイルを読み込んで画像の切り出しをしたいのですが
上手くいきません
ひとつの画像ファイルだけならなんとかできたのですが
どこか参考になるサイトなどないでしょうか?
538Now_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'
-------------------------------------------

どなたかお願いします
539Now_loading...774KB:2012/03/16(金) 10:28:10.53 ID:DIje9j3v
obj宣言した次の行に obj[varKey]='aaa' で良いんじゃないかな
540538:2012/03/17(土) 02:48:23.06 ID:8gzPPybX
>>539
回答ありがとうございます。
そのやり方で可能なのは知っているのですが、
今回訳あって宣言時に使用したいのです。
541Now_loading...774KB:2012/03/17(土) 12:05:56.25 ID:jFUdp5sM
訳あっての訳を書けば
どーせくだらない理由なんだから
やる意味がないことが明らかになるぞ
542538:2012/03/17(土) 12:17:51.50 ID:8gzPPybX
>>541
技術的に不可能なのでしょうか?
543Now_loading...774KB:2012/03/17(土) 12:56:31.00 ID:jFUdp5sM
技術的に
の言葉の使い方がおかしいな
544538: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" }
545538:2012/03/17(土) 13:32:50.93 ID:8gzPPybX
訂正:
var_dump($arr); //array(2) { ["key1"]=> string(3) "aaa" ["key2"]=> string(3) "bbb" }
546Now_loading...774KB:2012/03/17(土) 15:15:15.77 ID:Eq/GnJAf
どんな訳だよ。
気になって夜も眠れないから教えろよ。
547Now_loading...774KB:2012/03/17(土) 16:08:03.99 ID:lqx2Y4yD
とりあえず↓で出来たぞ

var obj:Object;
var prop:String = "key1";
obj = { (prop.toString()):1 };
548538:2012/03/17(土) 16:47:26.98 ID:8gzPPybX
>>547
ありがとうございます!!!!!
無事に解決しました!
549Now_loading...774KB:2012/03/17(土) 19:31:15.10 ID:dc9aZQ2I
くだらなすぎわろた
マジで訳を聞かせてよ
550Now_loading...774KB:2012/03/19(月) 09:15:40.71 ID:SPAuX5Jr
ループ中にtrace()を使うと時々ログが飛ぶのですが何か対策はありますか?
551Now_loading...774KB:2012/03/19(月) 10:33:23.66 ID:SPAuX5Jr
自己解決しました
tracerabbitというソフトを使って見ていると正常にログが書き出されませんでした
みなさんご注意を
552Now_loading...774KB:2012/03/20(火) 21:09:13.64 ID:KbmB98KR
Red5やFlashMediaServerについての質問はこちらでいいでしょうか?
NetConnection.callでサーバーのApplicationクラス名を指定して呼び出すときは
そのクラス名から作られたオブジェクトを呼び出しているということなのでしょうか?

だとすると、newもせずに自動でそのクラスからオブジェクトが作られたと
いうことになると思うのですが、それではオブジェクトは自動で作られたその一つしか
存在しないことになるので、実質的にはインスタンスオブジェクトというより静的クラスのように
なると思うのですが、そういう認識でいいのでしょうか?
553Now_loading...774KB:2012/03/20(火) 21:16:22.71 ID:uYM1ezvd
よくありません
554Now_loading...774KB:2012/03/20(火) 21:57:35.31 ID:KbmB98KR
>>553
すみません、つまりcallは何を呼び出していて
それはどのように作られているものなのでしょうか?

実験してみるとstatic変数もインスタンス変数も両方効いていたので
インスタンスのオブジェクトではあると思うのですが、だとすると自動で作られているということは
一つしかサーバーの中には存在しないわけなので、
サーバーが起動したときに
「Application名A Application名A = new Application名A();」のように
クラス名と同名のオブジェクトが作られていてそれをcallで呼び出すという
仕組みなのかと考えました
よろしくお願いします
555Now_loading...774KB:2012/03/20(火) 21:59:04.57 ID:KbmB98KR
すみません、下から3行目は「それをcallで呼び出す」ではなくて
「そのオブジェクトのメソッドをcallで呼び出す」でした
556Now_loading...774KB:2012/03/22(木) 18:30:35.51 ID:1U/k6bQx
基本的なことなんですけど、MXMLで右側にだけ
borderをつけるにはどうすればいいんでしょうか?
557Now_loading...774KB:2012/03/22(木) 23:40:08.45 ID:VI6omeMp
>>556
バージョンはFlex4以降?
どっちにしろHTMLとCSSのようにまでは簡単じゃない。
558Now_loading...774KB:2012/03/23(金) 06:22:35.54 ID:QSc0utZX
>>557
Flex4です
こういう場合はどうするのが定石なんでしょうか?
559Now_loading...774KB:2012/03/23(金) 13:17:07.93 ID:h/0uFGjH
そもそもそんな事したいって思ったことが無いんだよね…。
skin設定でいけると思うけど、ちょっとやってみないとわからん。
気が向いたら調べるw
560Now_loading...774KB:2012/03/23(金) 23:50:42.13 ID:RskpkJfF
AC3で動画の表示に関する質問です。
初め、画像クリックすると動画が始まり終わると、別のページへ移るやり方なんですが、
その動画をFlashではなくyoutubeを使ってブラウザ全体に写るよう
表示させたいのですが、方法ありますか?
561Now_loading...774KB:2012/03/28(水) 20:20:17.48 ID:9Rxx0tiu
質問なんですが、
例えばステージ状に配置している、MCの1フレーム目にAS3でaddEventLIstenerを記述しているとして、
タイムラインをすすめて、そのMCをステージ上から消す(空白キーフレームにする)と、
removeEventLIstenerを使う事なく、addEventLIstenerが消えるんでしょうか。それともずっと残っているのでしょうか。
562Now_loading...774KB:2012/03/28(水) 21:03:58.34 ID:zr2m0JVQ
addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);

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

みたいにすれば判るんじゃないかとおもったり
563Now_loading...774KB:2012/03/28(水) 21:04:35.68 ID:cCjPmJWc
イベント自体は残ってるんじゃない? ただし絶対に機能しないイベントなんだろうが
なんか確かめる方法があったな.hasEventListenerとかwillTriggerとか
ヘルプ見ながら確かめてみれ
564Now_loading...774KB:2012/03/28(水) 21:17:10.34 ID:zr2m0JVQ
そっか中じゃなくて親のタイムラインの1フレーム目ですか。 どうなるんだろ
565Now_loading...774KB:2012/03/28(水) 21:21:58.36 ID:dN7QNyA9
参照されている限りは残るだろうね
566Now_loading...774KB:2012/03/28(水) 22:23:23.40 ID:9Rxx0tiu
>>562のように
mc内のENTER_FRAMEのfunctionにtrace("まだある。"); を差し込んだら、
まだあるけどnullだよまだあるけどnullだよまだあるけどnullだよ…
と出ました。まだ残ってた。

ENTER_FRAMEのfunctionがいくつかあって、重くなるのが嫌なので、
mcを消すときに同時にremoveしておきます。
ありがとうございました。
567Now_loading...774KB: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になおすとしたらどうやって記述すれば良いですか?
568Now_loading...774KB: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の頃の挙動が再現できません
569Now_loading...774KB: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();
}
570Now_loading...774KB:2012/03/30(金) 19:50:21.29 ID:zQvUM5IO
>>569
ありがとうございました
571Now_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のバージョンによる仕様の違いではなさそう
572Now_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>
573Now_loading...774KB:2012/04/04(水) 08:46:39.30 ID:VPJx4wP0
基本質問スレがgdgdなのでこちらでw

FlashPlayer11にアップグレードしたらFFでFlash内アンカーが効かなくなった。
シンプルなものを作ったりして、色々検証してみたけど全く飛んでくれない。解決策ないかな。
デグレードは無しの方向で。
574Now_loading...774KB:2012/04/06(金) 11:27:43.89 ID:K98N1uph
SimpleButtonで
・デフォルトアクション(up/over/downの切り替え)をさせたい
・でもマウスイベントは受け取らせたくない
んだけど方法を教えれ、お願いします。
575Now_loading...774KB:2012/04/06(金) 12:19:53.84 ID:AR48t2ax
>>574

up / over / down 切り替えそのものがマウスイベントだよ。
よく質問の意味が分からないんだけど、ポインタを指マークにしたくないということ?
576Now_loading...774KB:2012/04/06(金) 13:16:59.64 ID:K98N1uph
>>575
そうではなくて、ボタンのステートは変えたい(=デフォルトアクション)けど、
クリックへの反応はしたくないし、イベントを受けとりたくもないってこと。

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

こんなことでMCなんか作りたくないし、ましてステートを変えるだけのために
MOUSE_OVERとかのイベントを張るなんてアホらしいっしょ?
なので、サクっとスマートな実装ができないものかなと、ここのエロイ人に聞いたわけさー。
577Now_loading...774KB:2012/04/06(金) 13:29:56.43 ID:GEbRgcxN
マウスに反応してなにか変えるためにはマウスイベント必須だし、SimpleButtonも内部でそうしてる
そのためにInteractiveObject継承してる

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

なにが嫌なの?
イベントが伝わると不都合があるとかならそれなりの対処法はあるけど
単にイベントリスナ書くのが嫌とかなら無理
578Now_loading...774KB: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とかになるけど、それは美しくないと思ったのよ。
イベント伝播を制御するのが本筋じゃん? ってな具合に。

まぁできないならしょうがない、地味にやるわー。ありがほー。
579Now_loading...774KB:2012/04/06(金) 20:40:58.14 ID:E88h9poy
mouseChildrenがお望みのプロパティじゃねーかな
580Now_loading...774KB:2012/04/06(金) 21:09:20.85 ID:GEbRgcxN
俺もそう思ったけどmouseChildrenがfalseだと中のSimpleボタンの表示が変わらない疑惑

そもそもtargetにしてまとめてとってきて分岐ってのが本筋から外れてると思うのでparent使っても同じ筋なんじゃね
581Now_loading...774KB:2012/04/06(金) 22:09:37.41 ID:8mEm55IX
>>578
お前さんの考え方そのものが間違ってる

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

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


ていうかかにがやりたいの?
582Now_loading...774KB:2012/04/06(金) 22:15:47.68 ID:8mEm55IX
で、軽くエスパーすると
useCaptureをtrueで望みの処理が出来るんではないかな

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

今直しているソースで下のような書き方が有るのですが…。
584Now_loading...774KB:2012/04/07(土) 17:01:13.44 ID:mq81Q+5R
すみません。言葉足らずでした。
var file:FileReference = FileReference(event.target);
という書き方です。文法的にどういう意味になるのでしょうか。
585Now_loading...774KB:2012/04/07(土) 17:26:29.08 ID:LAjyDbLL
型のキャストだな
586584:2012/04/07(土) 18:23:33.68 ID:mq81Q+5R
ああああああああそういうことか・・・・

(ClassName) object というJava式になれていたので全く気づきませんでした。
ありがとうございます。
587Now_loading...774KB:2012/04/07(土) 19:35:17.81 ID:0ql0luqn
as3の質問です
問題に解答するテキストフィールドに答えを書き込んで、答え合わせのボタンを押して正否を判定するクイズゲームを作っています
正否を判定する条件に

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

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

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

以外の記述方法はありませんか?
できれば「いうえ」とか「うえお」でも正解にしたいので、模範解答に対して部分一致でも正解にしたいのです
それとも地道に正解を一つずつ追加するしかないのでしょうか
588Now_loading...774KB:2012/04/07(土) 19:59:14.69 ID:Zu41fSzD
Stringにパターン一致探すメソッドがある
正規表現学べ
589Now_loading...774KB:2012/04/07(土) 20:08:15.79 ID:0ql0luqn
ありがとうございます。どういう用語で検索して調べれば良いのかわからなかったので助かりました
590Now_loading...774KB:2012/04/07(土) 20:19:08.35 ID:Zu41fSzD
>>589
公式リファレンスのStringクラスのところ見ると求めてるものが見つかると思う
591Now_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

若干文法が違うとは思いますがよろしくお願いします。
592Now_loading...774KB:2012/04/10(火) 21:48:49.05 ID:9xuuTtsJ
どうやらIMEの設定が不足していたみたいです。
iBus flashで検索して設定をちゃんと書き込めば直りました。
593Now_loading...774KB:2012/04/12(木) 13:45:10.71 ID:hozTVwsb
AcitonScriptの最高技術
http://www.kerockets.jp/editors/
594Now_loading...774KB:2012/04/12(木) 13:59:24.67 ID:TzNqaHV9
AS3、flashdevelop

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

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

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

よろしくお願いします
595Now_loading...774KB:2012/04/12(木) 14:22:38.66 ID:ajVQA8mI
maskで好きな形に切り抜けばいいんじゃね
596Now_loading...774KB:2012/04/12(木) 14:38:33.79 ID:TzNqaHV9
>>595
ありがとうございます!
maskで探したら良さ気なサンプルが見つけられました
597Now_loading...774KB:2012/04/17(火) 20:28:17.84 ID:9UNzoBPd
as3でFlash名の中にYouTubeの動画を表示したいのですが、
何かいい方法はないでしょうか?
598Now_loading...774KB:2012/04/17(火) 20:31:10.06 ID:9UNzoBPd
>>597
Flash名の中に ではなくて FLASHの中にでしたすみません
599Now_loading...774KB:2012/04/18(水) 10:37:37.28 ID:5aYsG+5q
600Now_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の中だったのですがここではないようです。
601Now_loading...774KB:2012/04/20(金) 16:10:25.06 ID:m0RoUjJO
しかしほんと過疎ったね
ほんと終わりそう
602Now_loading...774KB:2012/04/21(土) 14:05:06.56 ID:tMwIf4EO
>>599
ありがとうございます。
紹介されたサイトを参考にして何とか再生まではできたのですが
このプレイヤーに再生停止等のボタンを付けることは可能でしょうか?
何度も質問すみません
603Now_loading...774KB:2012/04/21(土) 17:08:33.08 ID:7hMF4b3t
FlashCSとかなら、動画プレイヤーのコンポーネントなかったっけ?
604Now_loading...774KB:2012/04/21(土) 21:26:30.20 ID:bJKNukWH
>>601
あいぽんとかAndroidとかの開発に行っちゃったんじゃない?
605Now_loading...774KB:2012/04/23(月) 16:00:17.82 ID:hszY04Nm
FLASH CS5.5
Action Script 2.0
ムービークリップに、インベーダーのような動きをさせるスクリプトを打ちたいのですが、全然分かりません
ある程度できたのですが、
・集団の端が画面の端に着くと、一段下に下がる
・数秒に一回インベーダーがビームを打つ
の2つがどうしてもできません。

誰か教えてください。
606Now_loading...774KB:2012/04/23(月) 16:10:49.97 ID:ybG6qnWZ
定期的にイベントを発生させるのは setInterval関数 でやればいいんじゃないか
607Now_loading...774KB:2012/04/23(月) 16:26:11.04 ID:WkS8XlBv
>>605

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

取りあえずどっち?

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

それと、Action Scriptの勉強は、本でするのと、webサイトでするののどちらが良いですか?
609605:2012/04/23(月) 17:31:11.59 ID:WkS8XlBv
>>608

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

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

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

AS3で開発の方が良いと思う。別に難しくないよ。
取りあえず、オススメのサイト
ttp://hakuhin.jp/as.html
610Now_loading...774KB:2012/04/23(月) 17:35:28.43 ID:hszY04Nm
>>609
やっぱ本が良いんですね。

このサイトを見て、AS2の方が簡単そうだったので、2を使い続けているだけなんですけど・・・
やっぱりAS3の方が良いですかね?
611Now_loading...774KB: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にするわ!と思ったら
作り直し、勉強し直しになる
612Now_loading...774KB:2012/04/24(火) 00:55:32.87 ID:kKVCbPZO
ASいつまで持つんだろう
CS6から、Flash Builderがマスターコレクションのみにバンドルになってしまった
613Now_loading...774KB:2012/04/24(火) 10:00:48.28 ID:nb5zYMAN
凝ったものつくらないのならAS2でいいんでね
614Now_loading...774KB:2012/04/24(火) 11:07:02.71 ID:C6oeCEbh
AS3の方が良いよ。
C#の文法にも似ているから、Unity3Dとかでゲームつくりたいってなった場合、
移行のための学習コストが低い。

また、便利なライブラリー群もAS3のモノが多いし
615Now_loading...774KB:2012/04/24(火) 17:06:35.88 ID:gG7x7Ryv
AS2のメリット
Google Swiffyでほぼ完璧にHTML5変換してもらえる

↑これはでかい
616Now_loading...774KB:2012/04/24(火) 17:46:11.95 ID:eripB49l
as2とjsはおなじもんだしなー
617Now_loading...774KB:2012/04/24(火) 18:38:11.16 ID:C6oeCEbh
同じって、何が!?
618Now_loading...774KB:2012/04/24(火) 18:57:45.46 ID:l5T3yhxs
いくーま的にだろ
619Now_loading...774KB:2012/04/24(火) 19:00:40.29 ID:eripB49l
ごめん結構違ってた!w
620Now_loading...774KB:2012/04/26(木) 13:16:20.95 ID:tMpu8YUq
as3について
TextFieldのinputでキャレット位置を操作したいんですが、
read onlyのcaretIndexしかないようで。

特定のkeyboardEventでTextFieldのキャレット位置を行頭に持って来たいんですが
何か方法ありませんかね?
621Now_loading...774KB:2012/04/26(木) 13:24:57.80 ID:oneMJ4xx
頭ならフォーカス外してフォーカスし直せばいけんじゃね?
622Now_loading...774KB:2012/04/26(木) 18:37:32.18 ID:9/JqxxPn
623Now_loading...774KB:2012/04/26(木) 18:38:35.54 ID:tMpu8YUq
>621
ありがとうございます。
focus外し直すと、fieldはfocusされるんですがキャレットが表示されません...
「キャレットを行末に」等の制御も行いたいのですが、
方法が見当たりません。
Flashだとむずかしいんですかね?
624Now_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( "http://www.yahoo.co.jp/" );
 // 実際にページに飛ぶ
 navigateToURL( url );
  }

どこが間違っているか教えてください。
625Now_loading...774KB:2012/04/26(木) 20:07:26.08 ID:mTmiWzFd
>>623
setSelection(beginIndex:int, endIndex:int)でbeginIndexとendIndexを同じ値渡せば出来る
626Now_loading...774KB:2012/04/27(金) 10:32:34.15 ID:5kyXXNE4
スレチかもしれませんが質問させて下さい。

現在ActionScript2.0でWeb用のFLV/MP4プレイヤーを制作しています。
YouTubeやXVIDEOのプレイヤーのシーク仕様(データ未ロードの箇所にポインタを置くと、そこから再ロードを行う)は
どのようにして実現しているのでしょうか?

現状の制作中プレイヤーのシーク動作としては、
・FLV再生の場合、未ロードの箇所をシークしようとすると、現在ロード済みのデータの先頭に再生ヘッドが移動します。
・MP4再生の場合、そのポイントで再生が一時停止し、データの読み込みを待機するような動きになります。
(あくまでデータの読み込みを待機しているだけで、そこからの再ロードではない)

プレイヤー(ActionScript)だけで実装できるものではなく、FMSなどの導入が必要なのでしょうか?

627Now_loading...774KB:2012/04/27(金) 10:53:09.48 ID:DC/OzV5+
うん
628Now_loading...774KB:2012/04/27(金) 11:17:41.72 ID:5kyXXNE4
>>627
やはりFMSが不可欠なんですね。
最近はそのシーク仕様ではないと使えないという風潮があり、対応はしなければならないと思いつつも。
YouTubeやXVIDEOはいざ知らず、FMSを導入するとなるとコストパフォーマンス的にどうなのだろう?もっと別の方法があるのではないか?
と試行錯誤していましたが、それが大前提であるならば、ひとまずは前向きに検討したいと思います。

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

629Now_loading...774KB:2012/04/27(金) 13:23:06.87 ID:ZeYVSZtg
>623
ありがとうございます!!
TypeがinputのTextFieldが一つしかないとどうしてフィールド全体をFocusしてしまったので、
width,height共に0のフィールドを作成し、FocusEventでfocus戻すことで対応できました!
これが最善とは思えませんがwww
助かりました。
630Now_loading...774KB:2012/04/30(月) 21:34:30.16 ID:VzVdili/
AS3でMCの親子を4階層作って
○○.○○.○○.○○.gotoAndPlay("△");
で動かそうとするんですけどできません
親子階層の限界とかあるんですか?
それともほかに間違ってるのかしら
631Now_loading...774KB:2012/04/30(月) 21:45:31.44 ID:92doBqjr
Flash Builer4.6でアンドロイドアプリを造ってます

ビルダー上のエミュレーターで動作させるとき、スワイプってどうやったら良いんですか?
エミュ上でドラック時ながら動かしてもイベントが飛んでこなくて、
そこだけ今は実機に転送してテストしてます
632630:2012/04/30(月) 21:49:17.15 ID:VzVdili/
すいません自己解決しました
633Now_loading...774KB:2012/05/01(火) 00:09:06.50 ID:LezHmbmY
マルチすみません

Flashの超基本的な質問はここでしろ! part43
http://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
ということはできますか?またどう記述すればよいですか?
634Now_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より"鳩山"を検索してそのインデックスを
取得する感じです。
635Now_loading...774KB: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;
}
}

こんなんじゃダメでしょうか
636634:2012/05/01(火) 03:00:36.36 ID:7TdUJy1F
>>635
さんきゅう。
それは考えましたが、もっとシンプルな記述はないかと思ってます。
(適当ですが)arr0.name.idexOf("鳩山") のような書き方です。
637Now_loading...774KB:2012/05/01(火) 04:05:33.07 ID:NcrOz4h/
うーん わからないですけどカスタムメソッドつくらずに1行で書けるなら楽だなぁ
638Now_loading...774KB:2012/05/01(火) 05:37:17.54 ID:M3lb2ciT
>>630
他に間違ってんだろ
限界はあるけどそんなレベルではない

>>634
XMLつかえば?
639634:2012/05/01(火) 07:50:51.13 ID:7TdUJy1F
>>638
結合配列でXMLを使う場合のヒントをお願いします。
640Now_loading...774KB:2012/05/02(水) 12:58:05.36 ID:EXYAHWJ1
>>634
Objectじゃいかんの?
641Now_loading...774KB:2012/05/03(木) 15:07:58.99 ID:cZqm41YK
>>631
ビルダー上のシミュレーターではスワイプなどは実現出来ないので大人しく実機でデバッグしてください
もしかしたらタッチパネル液晶なら出来るかもしれないけど
642Now_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();
}

643Now_loading...774KB: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();
}
644642:2012/05/07(月) 17:22:43.44 ID:8457Fa+0
>>643
ありがとうございます。
うまくいきました!!!
でも、なんで>>642だと機能しないのでしょうか?
とりあえずこれで作れそうです。
どうもどうもありがとうございます。
645Now_loading...774KB:2012/05/07(月) 17:42:14.51 ID:2abxJpsH
関数の定義とかはMovieClip内全体で有効だけど何かを実行したりするのはそのフレームを通らないといけないような気がする
646642:2012/05/07(月) 17:48:36.48 ID:8457Fa+0
ん〜〜〜〜使い分けよくわりませんw
結論、基礎から勉強しないと結構つまずきますってことですね。了解です。
647Now_loading...774KB:2012/05/11(金) 19:21:29.69 ID:maZotnVS
質問させてください。

下記のサイトの文字の動きをスクリプトでやりたいのですが
http://gzone.jp/product/index.html
※文字がぶれる動きです。

どんなクラスを使用すれば作成できるのでしょうか
サンプルコード等がある参考になりそうなサイトでも大丈夫です。

曖昧な質問で申し訳ないのですがよろしくお願いします。

648Now_loading...774KB:2012/05/11(金) 19:50:53.12 ID:QDQCxwyx
スクリプトでやるとしたらDisplacementMapFilterでごにょごにょすれば出来そうだけど
文字が決め打ちなら別のソフトで作って持ってきても良いきもする
649Now_loading...774KB:2012/05/14(月) 12:16:34.55 ID:iqdrI0JD
650Now_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にはならないはずじゃない?
651Now_loading...774KB:2012/05/14(月) 13:26:00.47 ID:5YgKDNZK
あーわかったかも
親の中の子がトゥイーン最中でキーフレームが無い位置だと孫が検出できないとかそんな関連か?
詳しい人がいたらご教授よろっす
652Now_loading...774KB:2012/05/15(火) 12:56:51.71 ID:05nW6grb
「同じインスタンス名だが別シンボルのMC」っていうのがどういう状況かわからん
同じ構造のFLA作ってアップすんのがはやそう
653650:2012/05/15(火) 13:10:49.81 ID:yPoOfqh/
お スレチェックしたとたんレスがw
状況?
例えば headMCという人の頭のMCだと内部に正面向いてるシンボルと斜め横向いてるシンボルが
faceMCというインスタンス名で1フレームと2フレームに配置
faceMC内は口アニメや目のまばたきなんかで再生ヘッドが回り続けている
正面顔MCと斜め横MCは同じインスタンス名で別シンボル 構造は(だいたい)同じ って事っす

で 子MC(faceMC)が回り続けてると孫MC(例えば帽子MC等)にアクセスし辛いという問題
ネストが深かったり複雑な構造だと参照がむずいね
654Now_loading...774KB:2012/05/15(火) 13:19:08.78 ID:ryUCaiVa
>>653
フレームアクションの実行される順序が遅い等の理由で、
MC参照した時にはまだMCそのものがnewされてないとか
そんな感じじゃね?

タイムラインとの併用は、そういう点でいろいろ面倒くさいよ
655Now_loading...774KB:2012/05/15(火) 16:05:44.37 ID:aViScq1q
flashからAS3.0を使っていて
地図上でAというボタンをクリックするとBが表示され
BをクリックでBが非表示になるという物が作りたいのですが
BをクリックでB自体には、removeChildを出来ないことまでは分かりましたが
どのような記述なら可能なのかが分かりません
ご教授お願いします
656Now_loading...774KB:2012/05/15(火) 16:17:07.08 ID:jg5/YWZw
Bをシンボル化して適当なインスタンス名をつけて
Bをクリックする処理の中に

インスタンス名.visible = false;

を入れればBをクリックでBが消えるようになるはず
ちなみに

インスタンス名.visible = true;

だと表示になる
657655:2012/05/15(火) 17:44:58.09 ID:aViScq1q
>>656
できました、ありがとう!
658Now_loading...774KB:2012/05/16(水) 03:33:35.07 ID:nhKBQhho
>>653
フレームアクションはどこに書いてるの?
659Now_loading...774KB: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);

どのようにすればエラーが出なくなるのでしょうか、よろしくお願いします
660650:2012/05/16(水) 13:05:04.69 ID:/fH3m7n9
>>658
フレームには複雑な処理は書かずメインクラスのenterFrame部でまとめて処理してる

>>659
非表示って事はま再び表示する可能性が高いんじゃない? ボタン.visible = false; で
一時的に消しておけば? 画面移行なんかで完全に削除したいなら
addChild( @@@ ); した時と同じインスタンス名 もしくは同じ参照変数で removeChild( @@@ );
フレームに直接書くのとクラスファイルでは書き方も違うかも その情報でははっきりわからん
661Now_loading...774KB:2012/05/16(水) 14:05:59.79 ID:8AEIxPF/
>>659
そのエラー通りに受けとれば、fl_taibがFunctionなんじゃないの?
662Now_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 {
// 処理
}

アドバイスよろしく願います。
663Now_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して生成した場合には変数の受け渡しを変えなければならないのでしょうか?
よろしくお願いいたします。
664Now_loading...774KB:2012/05/17(木) 23:44:08.25 ID:RdQxVoBl
エラーの説明が出るとおもうんだけど
665Now_loading...774KB:2012/05/18(金) 10:16:51.73 ID:ri9dXoKJ
>>662
その不具合は別の要因によるものっぽいな
そもそもコードは全部自分で書いたの? 何かのサンプルを元にしたなら内容を理解してない為
他の処理が不具合を引き起こしているのがわからない …とエスパー解答してみたぜ!
666Now_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させることです。
667Now_loading...774KB:2012/05/18(金) 23:04:31.68 ID:e/U06ha/
無理でしょ
includeはswfが作られる時に処理されるものであって、実行時に処理されるものではないから
668Now_loading...774KB:2012/05/18(金) 23:52:47.76 ID:MNyStys+
無理だろうな
そんな使い方を普通しないし
669662:2012/05/19(土) 00:38:16.45 ID:+8Syis+5
>>665
どうも。
円グラフを構成する扇形はsketchbookというライブラリで描いています。
もしかしたらこれが親(graphMC)と相性が悪いのではと思い、適当に描いた
三角形の単純MCを扇形の代用に使ったところ即表示できました。
もっと他に試してみます。
670Now_loading...774KB:2012/05/19(土) 01:22:18.68 ID:fzZ+WuxO
>>667-668
う〜む、無理ですか。了解。
671Now_loading...774KB:2012/05/19(土) 10:02:00.16 ID:Axr6qdK/
test
672Now_loading...774KB:2012/05/19(土) 10:08:10.43 ID:Axr6qdK/
FlashDevelopで開発しています。
loaderクラスで画像ファイルを読み込んだ時に、コンプリートハンドラ内で、loader.contentを参照すると、
それ以下の処理をしてくれません。画像は、表示できています。また、このエラーは、プロジェクトフォルダを移動
させた場合に起こります。どなたか教えて下さい。お願いします。
673Now_loading...774KB:2012/05/19(土) 11:00:11.44 ID:OPs+YGYz
ローカルかクロスドメインのセキュリティ制限じゃねーの。
他人の画像は表示まではできるけどアクセスできねーようになってる。
674Now_loading...774KB:2012/05/19(土) 11:42:35.67 ID:Axr6qdK/
>>673
ネットワークを介しているわけでなく
ローカルでフォルダをひとつズラしただけで
セキュリティ制限をうけるもんなんですか?
675Now_loading...774KB:2012/05/19(土) 11:48:34.19 ID:hKWA1dPg
プロジェクトフォルダを移動させた場合っていうとなんかの相対パスかね

症状がなにいってるかさっばりわからんのだけど
画像表示できてるんでしょ??
676Now_loading...774KB:2012/05/19(土) 11:52:56.69 ID:Axr6qdK/
>>675
private function handleContentLoaded(e:Event):void {
content = e.target.loader.content;
//ここで画像の基準位置を設定しないと、registration="center"を指定した時、1frame目に、topLeftに表示されてしまう。
registration = _marugonObject.registration;
if (content is Bitmap) {
Bitmap(content).smoothing = true;
}

}
677Now_loading...774KB:2012/05/19(土) 11:56:48.08 ID:Axr6qdK/
>>676
private function handleContentLoaded(e:Event):void {
content = e.target.loader.content;
if (content is Bitmap) {
Bitmap(content).smoothing = true;
}
}
訂正
スムージング処理が出なくなります。
あと、移動っていうのは、プロジェクトファイルを例えば、デスクトップに移動させた時とかです。
必要な画像とかは、相対パスで指定しており、プロジェクトフォルダに入っているので
問題はないと思います。
678Now_loading...774KB:2012/05/19(土) 12:11:09.48 ID:hKWA1dPg
なにが呼ばれてないの?
traceいれてみたらhandleContentLoaded自体呼ばれてないの?
if(Bitmap)内だけよばれてないの?

デスクトップに移動したら〜ってフレーズで信頼できる場所エラーを思い出した
とりあえずロード処理にセキュリティエラーイベントもaddして確かめてある?
679Now_loading...774KB:2012/05/19(土) 12:20:26.17 ID:Axr6qdK/
>>678
ハンドラは、loader.contentを参照する直前に置いたtraceで実行していることを確認しました。
よって、IO_Errorかな?それもaddEventしているんだけど上記より関係ないっぽい。
コンテント参照後の処理が行われません。
それと、binフォルダにできるindex.htmlを実行するとエラーになります。
また、同じくbinフォルダにできるhoge.swfをgomplayerで実行すると
問題なくなります。もしかして私のパソコンがおかしいのかな?^^;
680Now_loading...774KB:2012/05/19(土) 12:23:18.50 ID:Axr6qdK/
>>679
あと、エラーと言っても止まるわけでなく、
ただ、スムージングがかからないだけです。
もちろん、スムージングが問題ではなく、
webコンソールにtraceしてみても
表示されません。
681Now_loading...774KB:2012/05/19(土) 12:23:26.54 ID:hKWA1dPg
trace(1)
content = e.target.loader.content;
trace(2)

これで1が出力されて2がされないでデバッグプレイヤーでランタイムエラーも出てないわけ?
682Now_loading...774KB:2012/05/19(土) 12:27:47.35 ID:Axr6qdK/
>>681
index.htmlを実行しブラウザを起動した場合に起こるので、
また、flashdevelopで読み込んでデバッグはしてないです。
ブラウザで実行するとtrace(1)だけが実行されます。
683Now_loading...774KB:2012/05/19(土) 12:32:40.11 ID:hKWA1dPg
>>682
trace(1)
trace(e)
trace(e.target)
trace(e.target.loader)
trace(e.target.loader.content)
content = e.target.loader.content;
trace(2)

これやるとどうなる?
e.target.loaderがnullでcontent読もうとした瞬間にnullエラーで止まってるんじゃないの?
684Now_loading...774KB:2012/05/19(土) 12:56:31.53 ID:Axr6qdK/
>>683
traceはひとつも実行されませんでした。
ただ、traceの上にtextFieldに文字を挿入は、うまくいっているので
実行はされています。ブラウザからのデバッグだと、
これでしか確認できませんので。
traceは、ExternalInterfaceでwebコンソールで確認しました。
あと、いろんなフォルダに移動させると、成功するときがあり挙動が不安定
なんですが、安心が欲しいです。
685Now_loading...774KB:2012/05/19(土) 13:03:39.82 ID:hKWA1dPg
んー
ブラウザから実行する限りわからんわごめん

ブラウザのプレイヤーはデバッグプレイヤーなの?
686Now_loading...774KB:2012/05/19(土) 13:12:07.63 ID:Axr6qdK/
>>685
デスクトップに作った新しいフォルダ内では問題ないのに、
デスクトップだとエラーになったりわけが分からんわ
きみが悪いけどまぁいいや
付き合ってくれた方どうも有難う御座いました。
もし同じ症状が出た方や、理由がわかった方がいましたら
書き込みよろしくお願いします。
687662&669:2012/05/19(土) 13:51:41.52 ID:dfuFTbUd
(円グラフを構成する扇形の続報)
扇形を描くライブラリをfrocessing(arc関数を使用)に変えたところ、即表示OKでした。
ただし、これは前のsketchbookが悪いということではなく、単に構築した系に対する
相性の問題だと思います。
688Now_loading...774KB:2012/05/19(土) 14:04:35.09 ID:F+JhA+9S
相性っつーか、単に使い方を間違えてるだけだろう
689Now_loading...774KB:2012/05/21(月) 12:20:28.62 ID:72eD5t/+
>>684

たんなるパスのエラーのような気がする。
アパッチ動いてるサーバでチェックしてる?
690Now_loading...774KB:2012/05/21(月) 15:13:10.52 ID:a0Afcaag
>>689
サーバーでは今のとこうまくいってるんで、
ほっとしたんだけど
ローカルでやってみると失敗するんだよなぁ。
サーバーでうまく行けばいいんだけどね。
691Now_loading...774KB:2012/05/22(火) 16:50:42.98 ID:1+BejYSr
WinXp As3.0 

As勉強中です。

親MCから子MCのなかにMCを生成させるスクリプトを親MCに書いています。
子MCのフレームに
var インスタンス名:MCname=new MCname();
addChild(インスタンス名);
で生成できるのですが、

子MC.addChild(インスタンス名);
と、親のフレームに書いた場合うまく生成できません。

どなたかお教えください、お願いします

692Now_loading...774KB:2012/05/22(火) 22:06:33.05 ID:+V6dugng
>>691
単に省略しているだけかも知れんが
var インスタンス名:MCname = new MCname();// ←書いてる?
子MC.addChild(インスタンス名);

あと子MCはあらかじめ存在してるの?
それとも 親 → 子 → 孫 の順に生成してるの?

子をまだ定義してない(プロパティとして設定していない)場合は、予め子に
var 孫インスタンス名:MovieClip; と書いておく必要があるよ。
693Now_loading...774KB:2012/05/26(土) 13:38:19.57 ID:ko77DTwa
可変長引数をそのまま渡すにはどうしたらいいですか?
例えば下記のような感じです。


function hogeA(...args) {
 hogeB(args); // ←引数をすべてhogeBに渡して処理したい
}

function hogeB(...args:Array) {
 trace(args);
}

hogeA(1, 2, 3); // 結果 1, 2, 3 としたい



ご教授お願いします。
694693:2012/05/26(土) 14:37:15.51 ID:ko77DTwa
自己解決しました
695Now_loading...774KB:2012/05/26(土) 14:37:48.46 ID:oT7G4f8C
hogeB.apply(this, args)
696Now_loading...774KB:2012/05/30(水) 22:23:45.16 ID:IUGuiS2Q
windows7のAdobeFrashPlayer2.0

初心者です。シューティングを作っているんですが、今敵が流れてきて倒すとスコアが増えるところまで行きました。
スコアが100越えたら別のシーンに飛ぶ…というときはどうすればいいんでしょうか?
697Now_loading...774KB:2012/05/30(水) 22:38:37.38 ID:2mRI/dpL
書き込みをよく見直せ。

ActionScript2なの?
FlashCS2なの?
698Now_loading...774KB:2012/05/30(水) 22:45:07.09 ID:IUGuiS2Q
>>697
すみません、FlashCS2です
699Now_loading...774KB:2012/05/31(木) 02:46:02.02 ID:59bs4y/w
そんなもんねえよ
700Now_loading...774KB:2012/05/31(木) 03:13:30.29 ID:/gwy+awn
スコア加算処理かループの最後に
if(score>100){_root.gotoAndPlay(ラベル);}
でいいんじゃねーの
ラベルにはエンディング画像なり面設定用の変数入れて元のループに戻すなりお好きに
701Now_loading...774KB:2012/05/31(木) 08:27:40.88 ID:fVfSObQm
Flash Player 2.0、CS2ワロタ
702Now_loading...774KB:2012/05/31(木) 15:37:48.83 ID:+E4Isj0g
>>696

As2なのかAs3なのかで書き方全然違うのでそこが大事
703Now_loading...774KB:2012/05/31(木) 21:33:15.94 ID:SZHG/FeK
Studio8ってことか??
704Now_loading...774KB:2012/06/01(金) 12:13:06.41 ID:G8RPkZRJ
アプリは関係ないよ。
言語だよ。
ActionScript2かActionScript3かってこと。
因にStudio8じゃAS3使えないよね
705Now_loading...774KB:2012/06/01(金) 13:30:16.35 ID:sDcPbkP9
AS4がでたらさらにこのやりとりの手間が増えるのか
706 忍法帖【Lv=20,xxxPT】 :2012/06/07(木) 10:35:52.91 ID:ErJdn1im
AS4出るとしたらどんな言語になるのやら。
・総称型
・変数のブロックスコープ
・privateなコンストラクタ
・抽象メソッド(パブリッシュ時に弾いてくれる)
このくらいは欲しいな
707Now_loading...774KB:2012/06/07(木) 22:04:33.90 ID:IOobHs2r
もう構文はC#にしてくれよ
708Now_loading...774KB:2012/06/07(木) 23:33:26.27 ID:mWcCkJFc
構文はAS3の方が好きだなー
型宣言が特に。
709Now_loading...774KB:2012/06/08(金) 11:10:36.90 ID:CTb8lly9
いや、Javaにしてくれよ。
710Now_loading...774KB:2012/06/08(金) 12:47:16.19 ID:OYyc7OJn
よそでやれ
711Now_loading...774KB:2012/06/09(土) 06:54:58.14 ID:jKwvxkuD
環境:FlashCS4,WinXP,AIR1.5 です。
アプリケーション終了時のイベントを取りたいのですが、上手くいきません。

Webで調べたところ、
ttp://d.hatena.ne.jp/uwitenpen/20090123/1232658404
ttp://tt-house.com/2009/02/confirm_close_on_air.html
ttp://blog1.aitacos.com/?p=427
とかがあったので、これを参考にしたASをドキュメントファイルに書いたのですが何も出ません。

addEventListener(Event.CLOSING, ClosingHD);
public function ClosingHD(e:Event):void{
trace("ClosingHD event= " + e);
removeEventListener(Event.CLOSING, ClosingHD);
}

どなたか問題点をご指摘願います。
712Now_loading...774KB:2012/06/09(土) 11:21:07.24 ID:V/kthmkD
試してないけどnativeWindowインスタンスに対してaddEventListenerしないとダメじゃない?
713711:2012/06/09(土) 13:26:15.03 ID:jKwvxkuD
>>712
さんくす。 ご指摘の通り、リスナー対象は stage.nativeWindow でした。
ただし、(FlashCS4のプレビューで)これが実行されるにはステージ内のどっかをクリックして
アクティブにする(フォーカスを移す?)作業が1クッション必要みたいです。
714Now_loading...774KB:2012/06/09(土) 13:47:50.50 ID:jKwvxkuD
すいませんageてもうた
715Now_loading...774KB:2012/06/11(月) 07:58:46.90 ID:bgNeQBIF

数値入力において、指定単位(pt, mm, cm, in, px)付きで表示し、値を自動換算するコンポーネントはないのでしょうか?
例えばIllustrator やPhotoshopでの数値入力欄のような。


ご存じの方お願いします。
716Now_loading...774KB:2012/06/11(月) 08:01:53.84 ID:bgNeQBIF
>>715訂正
例えばIllustratorでの数値入力欄のような。
717Away3D初心者:2012/06/12(火) 13:06:40.84 ID:eQC2icDh
初めまして。
数日前にCS6(mac)買ってAway3D始めたんですが
Away3D自体は問題なく動作してます(as3でフレームに直書き)。
が、タイムラインにムービークリップを置いてボタンアクションを書いてもボタンが反応しません。(onEnterFrameは動作します)
直接タイムラインに置かず、ライブラリからaddChildしてもボタンアクションは動作しません。
Away3Dの部分を外すと正常にボタンアクションは動作します。

stage3Dって、タイムラインのボタンアクションと共存出来ないなんて事はないですよね?
解る方いたらおしえていただけますでしょうか?

あと、こういう質問て、どこのサイトでするのが適切でしょう?
Flashフォーラム久しぶりに覗いたら閑古鳥でした..。
718Now_loading...774KB:2012/06/12(火) 15:13:20.97 ID:8W8awQGn
>>717
そういった話は聞いたことないなあ

でも悪いことは言わないからタイムラインアクションはやめとき

英語が多少わかるならAway3Dのフォーラム
http://away3d.com/forum/

ボタンのほうが上の重ね順?
View3Dがマウスイベント拾っちゃってるとかないよね

どんなソースだい
719Now_loading...774KB:2012/06/12(火) 15:24:45.43 ID:RrhIyVfU
Away3Dの部分のコードを理解してるのかい?
何らかの処理が邪魔してると思うお
720Away3D初心者:2012/06/12(火) 17:15:51.21 ID:eQC2icDh
>>718
>>719
お返事ありがとうぎざいます!
3Dの方にマウスイベントがない状態でもダメなんですよね..。
ん?ボタンの方が上の重ね順?
表示リスト的に、stage3Dは自ずとタイムラインより下になるかと思ってたんですけど..
違うとすればそこが怪しいですね。
どうやったらタイムラインのボタンの方を上に出来ますか?

>でも悪いことは言わないからタイムラインアクションはやめとき
ちなみに、なんでです?

>>719
>Away3Dの部分のコードを理解してるのかい?
>何らかの処理が邪魔してると思うお
かなりシンプルなコードでも同じ症状なんですよ..。
次にシンプルな3D部分のソース貼ります。(ボタンは省略)
721Away3D初心者:2012/06/12(火) 17:16:09.76 ID:eQC2icDh
import away3d.containers.View3D;
import away3d.primitives.WireframeSphere;
import flash.events.Event;

var view=new View3D();
addChild(view);

var shpere:WireframeSphere;
shpere = new WireframeSphere(500,16,12,0xFFFFFF,2);
view.scene.addChild(shpere);

// レンダリング;
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
function enterFrameHandler(e:Event):void {
shpere.rotationY++;
view.render();
}
722Now_loading...774KB:2012/06/12(火) 17:23:02.28 ID:8W8awQGn
>>720
>表示リスト的に、stage3Dは自ずとタイムラインより下になるかと思ってたんですけど..
Stage3Dの描写はそうなるけど、最初にaddChildしているviewはstage上のものじゃん
そもそもStage3Dでマウスイベントは取れないからstageのviewでイベント拾ってんだと思うよ


ボタン省略するなよww
>ライブラリからaddChildしてもボタンアクションは動作しません。
このときはどこにかいてたの
723Now_loading...774KB:2012/06/12(火) 17:50:20.19 ID:RrhIyVfU
そうだ省略してはいかん

フレームのある位置に来たらstopさせてaddEventListener( MouseEvent.CLICK とかやる方式なんだろ?
メイン処理部で監視する方が後々改造し易くていいお
観念してシンプルボタンクラスでも作ってクラスインスタンスでやるんだ(もしくはクラススタティック)
724Away3D初心者:2012/06/12(火) 17:54:05.36 ID:eQC2icDh
>>722
>最初にaddChildしているviewはstage上のものじゃん

アーー!!
それだー...。アホでした..。
ありがとうございます。やってみます!

725Away3D初心者:2012/06/12(火) 18:24:51.69 ID:eQC2icDh
>>722
>>723
出来ました..。
ボタンを
setChildIndex(btn,2);
で無事反応しました..。あほだ..。

>フレームのある位置に来たらstopさせてaddEventListener( MouseEvent.CLICK とかやる方式なんだろ?
>メイン処理部で監視する方が後々改造し易くていいお
>観念してシンプルボタンクラスでも作ってクラスインスタンスでやるんだ(もしくはクラススタティック)

うーん、せっかくFlashだから、フレームに配置すれば
ボタンとかMCとか、目で見ながら配置してデザインできて便利だと思うんですけどねー..。

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

726Now_loading...774KB:2012/06/12(火) 18:36:14.29 ID:8W8awQGn
view
button
Stage3D
の順に並んじゃってて、viewには内部的にマウスイベント割り当てられてたから
それより下の階層であるbuttonまでたどり着かなかったかんじかね


ボタンの記述はクラスファイルにしてボタン自体は目で見ながら配置ってこともできるよ
727Away3D初心者:2012/06/12(火) 18:57:16.37 ID:eQC2icDh
>>726

>view
>button
>Stage3D
>の順に並んじゃってて、

ですねー..。

>ボタンの記述はクラスファイルにしてボタン自体は目で見ながら配置ってこともできるよ

あーそうすればスッキリですね。
ありがとうございました。
728Now_loading...774KB:2012/06/13(水) 13:50:18.32 ID:K1gLLJhg
AS3 CS5.5

StageWebViewを他のMCの下に配置することはできますでしょうか?
729Now_loading...774KB:2012/06/13(水) 20:29:21.63 ID:TeSugQwI
無理
http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/media/StageWebView.html
>StageWebView クラスは表示オブジェクトではないため、Flash 表示リストに追加できません。
>代わりに stage プロパティを使用してステージに直接アタッチすることで、StageWebView オブジェクトを表示します。
>ステージにアタッチされている StageWebView インスタンスは、Flash 表示オブジェクトの上に表示されます。

まぁセキュリティもあるし当然っちゃ当然か
730Now_loading...774KB:2012/06/13(水) 21:46:01.31 ID:K1gLLJhg
>>729
そうなんですね…
ありがとうございました
731Now_loading...774KB:2012/06/17(日) 12:49:26.23 ID:CPcs00vy
(JavaScriptから呼び出せるよう)addCallbackで登録した関数から、
別の関数、たとえば以下のtestFuncを呼び出すにはどう書けばよいでしょうか?

ExternalInterface.addCallback("hoge", null, addCallback); //JavaScriptからの呼び出しを登録
function addCallback():Void {
var string = testFunc();
string += ":hoge2"; //(1)
//省略
}
function testFunc() { return "hoge1"; }

JavaScriptから呼び出したときに、(1)のstringの中身が"hoge1:hoge2"となってほしいのですが、
testFuncが正常に呼び出されていないのか"undefined:hoge2"となります。
732731:2012/06/17(日) 17:43:23.04 ID:LxkVqHVJ
Delegateを使って解決しました。
733Now_loading...774KB:2012/06/17(日) 21:54:25.22 ID:DycHH0Bn
AS3 CS5.5  です。

objecttest.addEventListener(MouseEvent.MOUSE_OVER,test);
function test(e:Event)
{
mouseover = true;
}

stage.addEventListener(MouseEvent.MOUSE_MOVE,mc);
function mc(e:Event)
{
mc.x=mouseX;
mc.y=mouseY;
Mouse.hide();
}

こんな感じで作っているのですが、このプログラムだと objecttest にカーソルを乗せても
反応がありませんでした。 Mouse.hide が原因かと思い、コメントアウト試しましたが
結果は同じでした。
これは、 objecttest と マウスカーソルの間に mc が入っているから反応しないのでしょうか?
また、これを直すにはどうすればいいですか?
734Now_loading...774KB:2012/06/18(月) 00:20:59.68 ID:n6Y3NrFG
mcがマウスに追従するやつで、objecttestがインタラクションに反応させたい?やつかな

推察の通り、マウスイベントに反応するのは一番上の表示オブジェクトだけなので、
mc.mouseEnabled = false;
mc.mouseChildren = false;
を書き足せばいける。意味はぐぐって
735Now_loading...774KB:2012/06/18(月) 09:32:39.72 ID:AiZpEn8q
それMCの名前がmcだとしたらmcがmcのスコープ塞いじゃってMCにmcのxやらyやらが反映されないんじゃね?
736Now_loading...774KB:2012/06/18(月) 15:11:22.16 ID:m+U6qnUe
>>734
無事解決できました。
ありがとうございました!
737Now_loading...774KB:2012/06/22(金) 11:03:55.06 ID:Lfk+gY4L
個人でiphoneアプリ、Windowsアプリをマーケットに売って生き残れ

格安iPhoneEラーニング(学習動画多数あり)
http://tinyurl. com/7wj77om
コワーキングスペースJP
http://tinyurl. com/76vdrny

javaやlinuxは手間がかかる 一人でやるには手間がかかりすぎる 手間がかからないで一人で開発できて
人の多いところで直接販売できる仕組みが提供されているメーカ製の言語だけやる ずばりiphone またはWindow 8 Metro App Store C#
やるならメーカー製の言語 洗練された仕様 脆弱性が少なく 開発ソフトが優れ 課金ライブラリ アップデートライブラリが提供されていて 情報,書籍が多く開発しやすい
奴隷になりたければオープン系をやればいい 時間がかかり 人は多く 仕事の取り合い 足の引っ張り合い 脆弱性が多く 互換性がなく 癖があり 大規模開発中心
詳細設計しかやれない体になって年取ってぽいだ 独立もできない 手間のかかりすぎる仕様だから 
派遣屋・IT経営者はその方が喜ぶ 大規模分割開発では使い捨てしても独立はできまい 代わりはいくらでもいる 嫌なら辞めろ
派遣営業は舐めた態度をとってくる ひどいピンハネ

オープン言語、日本独自開発言語・フレームワーク ガラパコ携帯 javascript html5 Android java linux python rubyやnode.jsとかやめとけ
メディアに金を払ってステマ宣伝してくるが釣られて手を出しても情報は少なく手間がかかり未完成かデスマに陥る 
コンパイルできないからパクられ  直接売る場所がないから金にならない 生きていけない ずっと奴隷仕様の言語だ
738Now_loading...774KB:2012/06/22(金) 11:05:14.49 ID:Lfk+gY4L
ここから抜け出すにはiPhone一択 またはWindow 8 Metro App Store(未確) C#
Objective-CやC#を覚えるとサーバーサイドからクライアントサイドまでカバーでき人の多い場所でソフトを売る権利を得られる
仕事や趣味でObjective-CやC#を覚えれば派遣切りされても会社辞めることになってもソフトを売って生きていける それはセーフティーネットになる
WEBサーバーIIS Win2008ServerVPS SqlServer Oracle MySql 言語はマーケットで売れるメーカー製のみ C#は自分用業務支援ツールとして使える 
例えばPHPでWEBアプリを作っていて管理者画面はC#(EXEアプリ)で作るとかなり早く作れる(Smartyなんか使うよりもかなり早くだ)
ASP.net(C#)+管理EXEアプリ(C#)+iPhone C#のソースを出さなければWEBアプリの著作権も守れる
C#マーケット Windows8 Metroアプリ WindowsPhone pad PS Vita Xbox360 iphone(mono使用)
iPhoneマーケット iPhone iPad 予定 iTv iCar i (家電製品)

地方に安い土地を買いコンテナ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィス・コワーキングで収入を得ながらそこでアプリを開発する
http://tinyurl. com/7pb2yaa
http://bit. ly/iLIpJa
739Now_loading...774KB:2012/06/25(月) 20:29:23.33 ID:tlDIOqXK
win7 flash proCS5.5 As3 です。
現在、アンドロイドアプリを作っています。
Howto本にアプリ内にブラウザを実装できる。という記事を読み実装してみました。
//ステージウェブビューを作成
var smv:StageWebView=new StageWebView();
//ステージウェブビューを表示するステージ
smv.stage = stage;
//ステージウェブビューの表示領域を設定
smv.viewPort = new Rectangle(0,160,480,700);
実装はできたのですが、アプリ上からブラウザ画面が消えなくなってしまいました。
removeではなさそうですし。。。どなたか解決法をお教えください
740Now_loading...774KB:2012/06/25(月) 21:21:44.21 ID:FMDbAWRI
ググッたところ smv.dispose();  かな?
741Now_loading...774KB:2012/06/26(火) 02:00:31.18 ID:bDLKEIHr
その前に smv.stage = null; した方がいいかも?
742739:2012/06/26(火) 16:00:54.53 ID:0i2JJFi0
>>740
>>741
smv.stage = null;
smv.dispose();

で、無事消去できました
ありがとうございました
743Now_loading...774KB:2012/06/27(水) 12:52:58.00 ID:IVoCTEbN
最近AS3.0勉強し始めたばかりです
質問なんですけど、下記のコードでキーボードの右が押されたら
0.1秒ごと10回にオブジェクトを1ずつすすめるというものを作りたかったのですけど
一回目に押したときは問題ないのですけど、
二回目以降に押すと押した数分だけTimerが回ってしまいます
どなたか解決法教えていただけないでしょうか...
timer:Timer = new Timer(100,10);
var zx:int = 300, zy:int = 100;
stage.addEventListener(KeyboardEvent.KEY_DOWN,Idou);
function Idou(event:KeyboardEvent):void{
if(event.keyCode == Keyboard.RIGHT){
timer.stop();
timer.reset();
timer.addEventListener(TimerEvent.TIMER,DoTimer);
function DoTimer(event:TimerEvent){
zx++;
obj.x = zx;
obj.y = zy;
}

timer.start();

}
}
744743:2012/06/27(水) 13:05:12.51 ID:IVoCTEbN
すみません
環境を書き忘れました
MacOSX
FlashCS4
AS3.0ですよろしくお願いします
745Now_loading...774KB:2012/06/27(水) 13:14:59.95 ID:xkuk9QSD
これでどうだろ?

var zx:int = 300, zy:int = 100;

timer:Timer = new Timer(100,10);
timer.addEventListener(TimerEvent.TIMER,DoTimer);
function DoTimer(event:TimerEvent){
zx++;
obj.x = zx;
obj.y = zy;
}

stage.addEventListener(KeyboardEvent.KEY_DOWN,Idou);
function Idou(event:KeyboardEvent):void{
if(event.keyCode == Keyboard.RIGHT){
timer.stop();
timer.reset();
timer.start();
}
}
746743:2012/06/27(水) 13:39:22.96 ID:IVoCTEbN
>>745
ちゃんと動くようになりました!
ありがとうございます!
747Now_loading...774KB:2012/06/29(金) 15:41:35.18 ID:k2h4EyPW
こんにちは。質問させてください。

現在、AS3側でユーザーに文字を入力してもらい、
それをWebサーバーへ送信して値を保存するということをやろうとしています。(いわば、ローカルのフォームみたいなもの)
Webの方は既存のシステムがあり、文字コードがShiftJISです。

URLRequest と URLLoader を使ってデータを送信して受け取ることは出来るのですが、
日本語を使用した際に文字化けしてしまいます。
恐らく、AS3側がUTF8なのに対して、Web側がShiftJISだからだと思います。

Web側でEncodeConvertすれば解決するのですが、それが出来ないので、AS3側でどうにか対処することはできないでしょうか?


どなたか教えてください。
よろしくお願いします。
748Now_loading...774KB:2012/06/29(金) 17:41:34.28 ID:zIk5n3aO
AS1.0Suzukaを使ってます。Suzuka用fladeを試してるのですが
リファレンスらしきものがどれだけ検索しても見当たりません。
英語でも構わないのでご存知のかた教えてください。
749Now_loading...774KB:2012/06/29(金) 22:51:48.36 ID:BdzcHX5Q
はいflash終了。学ぶだけ無駄だよー
http://www.itmedia.co.jp/news/articles/1206/29/news114.html
750Now_loading...774KB:2012/06/29(金) 23:18:47.35 ID:zMf5OF6Y
つまんねー どうしてこうなった
そんなにHTML5がいいのかね
751Now_loading...774KB:2012/06/29(金) 23:57:34.16 ID:z1dyRr2R
ん?それ去年発表してたことと変わらんけど
どうした?
752Now_loading...774KB:2012/06/30(土) 00:11:54.76 ID:71nh0HkG
去年は更新しないって言った筈
だからflash player11のままなのかと思ってまあいいやと思ってたのに
削除しろだと
753Now_loading...774KB:2012/06/30(土) 00:52:15.86 ID:PjaxwLJ9
Flash CS5.5を持ってて、アンドロイドアプリを作ってみようと思っています。
Android 4.1以降でFlashが非対応とのことですが、Air for Androidで拡張子「apk」のアンドロイドアプリの形にすれば、元がFlashで記述したものであっても動作する、という認識であっているでしょうか?
754Now_loading...774KB:2012/06/30(土) 00:56:53.69 ID:aTF+spPc
http://www.adobe.com/jp/aboutadobe/pressroom/pressreleases/20120629_flashplayer_android.html

>機器がAndroid 4.0からAndroid 4.1にアップグレードされている場合、Android 4.1に正式に対応していないために利用
>中のFlash Playerが予想しない動作や機器が不安定になる可能性があります。またFlash Player の今後のアップデート
>が有効にならない可能性があります。そのためAndroid 4.1にアップグレードしたデバイス上のFlash Playerをアンインス
>トールすることをお勧めします。

削除みたいなことはここしか見当たらんが
755Now_loading...774KB:2012/06/30(土) 00:57:41.88 ID:aTF+spPc
>>753
あってる
756753:2012/06/30(土) 01:09:53.05 ID:hiR7G7d4
>>755
ありがとうございます!
757Now_loading...774KB:2012/06/30(土) 04:19:19.21 ID:mklMH7eP
モバイル版Flash Playerの開発中止、って発表してたんだから、
新しいOSには対応しないのが普通のことじゃんね。
AIRがあるのにFlash終了とか言っちゃうやつなんなの
758Now_loading...774KB:2012/06/30(土) 05:38:31.10 ID:rGmUihdG
アプリ開発が本命だろJK
759Now_loading...774KB:2012/06/30(土) 08:39:49.61 ID:DTAQJ2ce
まあAIRとFLASHの関係を説明する気にもなれないアホどもが騒いでるだけだし…
760Now_loading...774KB:2012/07/01(日) 15:42:10.13 ID:sEuNUGui
逆に技術者でFlash終了とか言ってるやつは何も分かってないアホだと炙り出されているってことだな
761Now_loading...774KB:2012/07/01(日) 15:45:50.20 ID:cXHYJyZW
実際の案件の減り方みてりゃ、完全に終わってることくらいわかるだろ
762Now_loading...774KB:2012/07/01(日) 17:14:36.26 ID:6tjw4FVE
減ったと思ったら他所に取られただけだった
763Now_loading...774KB:2012/07/01(日) 17:43:35.73 ID:cXHYJyZW
Flashの同業他社は倒産して、中の人がうちに入ってきてC#やってる
764Now_loading...774KB:2012/07/02(月) 19:29:29.02 ID:lrivNUxy
自分の身の回りじゃなくてちゃんと統計取ったんだろうな
765Now_loading...774KB:2012/07/03(火) 09:07:42.71 ID:uM3AHTrJ
CS5.5 AS3
sin cos関数のテーブル化(360度計算)を試してみたんだけど通常の計算時とほとんど速度が変わらないな
Array()とVector.<Number>(360, true)でも違いがほとんど無い むしろたまにVectorが遅いw
Vectorの存在意義はなんなんだ
766Now_loading...774KB:2012/07/03(火) 09:21:44.43 ID:xwGh7r5I
型を明確にできるのは場合によってはそれなりにメリットあると思うけど。
767Now_loading...774KB:2012/07/03(火) 14:47:12.02 ID:nr/DvrpU
テストしてる環境に原因があるのでは?
例えば、FlashPlayer11とかなら、速度に違いが無いハズ
768Now_loading...774KB:2012/07/04(水) 10:44:42.41 ID:nJQt1S49
>>765
Vectorの使い方がなってないと思う。
Vector使う時は基本的にfixedで使うとかなり違う。

テスト出来るソースさらしてみてよ。
769Now_loading...774KB:2012/07/05(木) 01:23:28.39 ID:9QGmmgF1
ここのAS2のをAS3にしてテストしたお
ttp://a-field-of.kokage.cc/File/tableTest/index.php
770Now_loading...774KB:2012/07/05(木) 13:04:05.97 ID:umX4RvA1
Flash9、AS3です。
ary[[hoge, 0, 1], [foo, 2, 3], [bar, 4, 5]]という配列があり、
0インデックス目はインスタンス化した物ですが、
ary[0][0].Func()みたいなことはできないでしょうか。
内容が存在しないみたいに出て実行中に先に進めなくなります。
771Now_loading...774KB:2012/07/05(木) 13:47:51.40 ID:vi7ISij1
こういうこと?ようわからんが動くんじゃね?
var arr:Array = [[{func:function(){trace("hoge");}}]];
arr[0][0].func();
772770:2012/07/05(木) 14:40:31.05 ID:umX4RvA1
>>771
ありがとうございます。

hogeIndex:uint = 0;
fooIndex:uint = 1;
barIndex:uint = 2;
ary[[hogeIndex, 0, 1], [fooIndex, 2, 3], [barIndex, 4, 5]];

if(ary[0][0] == hogeIndex) hoge.func();
else if(ary[0][0] == fooIndex) foo.func();
else if(ary[0][0] == barIndex) bar.func();

関数の機能を配列に書きたいのではなく、
if分を無くし1行にするために>>770のようなやり方を使いたいのです。
RPGのイベントの分岐とか、種類が多くなると
すごい行数になるので、その対策に使いたいです。
773Now_loading...774KB:2012/07/05(木) 16:01:12.94 ID:vi7ISij1
いまいちわからんのだけど普通にオブジェクト突っ込んどけば済む話とは違う?

var foo:Object ={func:function(){trace("foo");}};
var bar:Object ={func:function(){trace("bar");}};

var arr:Array = [[foo,0,1],[bar,2,3]];
arr[0][0].func();
arr[1][0].func();
774770:2012/07/05(木) 21:31:05.60 ID:umX4RvA1
>>773
ありがとうございます、解決できました。
その記述する順番が逆だったのがダメだったようです。
hoge、foo、barをインスタンス化する前に配列に入れていたので、
見た目はクラスの型でもnullでしかなかったようです。
775Now_loading...774KB:2012/07/06(金) 12:58:18.05 ID:kIog6avS
AS3 / Flash CS5.0です。

スーパークラスでは定義されていなく、サブクラスで定義されている任意のプロパティが呼び出されたときに、
スーパークラスがそれを捕捉して任意の処理をしたいんですが、どうすればよいのでしょうか?

Proxyクラスが使えそうかなと一瞬思いましたが、
あれは未定義プロパティにしか反応しないんですよね……。
776Now_loading...774KB:2012/07/06(金) 13:12:19.58 ID:o7z+O4jb
サブクラスの該当プロパティのgetterメソッド中でスーパークラスの任意の処理をするメソッドを呼び出すようにしておくとか?
777Now_loading...774KB:2012/07/06(金) 13:20:17.77 ID:kIog6avS
>>776
やっぱそうなりますよね……。
できればサブクラス側におまじないを強要したくなかったんですが
778Now_loading...774KB:2012/07/12(木) 04:08:02.00 ID:1o2Jb+qN
AS1.0の質問です
画質変更以外のコンテキストメニューを非表示にした上で
コンテキストメニューに項目を追加したいのですが
それぞれ単体なら正常に動くのに両方やろうとすると片方(項目の追加)しか動いてくれません。
両立するにはどうすればいいんでしょうか?

ソースはhakuhinさんのサイトのものをコピペして使っています。
・コンテキストメニューを非表示にしたい
ttp://hakuhin.jp/as/menu.html#MENU_01
・メニューに項目を追加したい(Flash 7 以降)
ttp://hakuhin.jp/as/menu.html#MENU_03
779Now_loading...774KB:2012/07/12(木) 07:48:32.03 ID:iKTZEV9B
NumericStepper についての質問です。

stepSize プロパティ値によって小数点以下の有効桁が決まるという仕様のようですが、これで困り果てています。
例えば、上下矢印の1クリックごとに入力値を 1 だけ変化させたいけれども、直接入力では小数第二位まで認めるということができません。
何か方法があるのでしょうか?

わかる方、どうぞお願いします。
780Now_loading...774KB:2012/07/12(木) 07:50:58.59 ID:iKTZEV9B
>>779補足です
自前のイベントハンドラでこういう基本的な処理をごちゃごちゃとしたくありません。
781Now_loading...774KB:2012/07/12(木) 08:51:34.23 ID:gJWnk/CI
>>778
AS2でやってみれお

>>779
説明がわかりにくいな〜
直接入力した1.23という値をクリックで2.23にしたいって事?
782Now_loading...774KB:2012/07/12(木) 10:01:53.85 ID:iKTZEV9B
>>781

stepSize=1(デフォルト)にしておくと、直接入力値は全部整数に丸められます。
つまり整数入力しか認めないと。2.52 なら、 3 というふうに。
こういう桁丸めを避けるにはどうしたらよいでしょうか、ということです。
ステップ値1は保持しつつ。


783Now_loading...774KB:2012/07/12(木) 10:21:16.13 ID:gJWnk/CI
デフォ値を1.001にしてもだめ?
もしくは桁丸めの箇所を探し出して修正すればおkだと思うんだけど…
そもそもNumericStepperってAS3のコンポーネントなんだっけか
そっちの環境はなによ CS5.5?
784Now_loading...774KB:2012/07/12(木) 12:18:19.83 ID:iKTZEV9B
>>783

これです
http://help.adobe.com/ja_JP/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7fa5.html

開発環境は Flash Builder4.5 + CS SDK2.0 + CS Extension Builder1.5 です。
785Now_loading...774KB:2012/07/12(木) 12:55:58.34 ID:s3JgVu8a
カスタムしたくないって言ってるんだから無理でしょ。
そういう風にできてないもの。
786Now_loading...774KB:2012/07/12(木) 13:27:23.52 ID:gJWnk/CI
NumericStepper.asファイルを直接書き換えるしかないかもな
書き換える前にバックアップとってな もちろん自己責任でやってくれ〜い
うちはCS5.5だからファイルの場所は違うと思う 検索して探してくれお

function checkValidValue(val:Number):Number
{
var initDiv:Number = val / stepSize;
var roundD:Number = Math.floor(initDiv);//ここが怪しいような気がする
787Now_loading...774KB:2012/07/12(木) 13:30:56.10 ID:gJWnk/CI
ああ 継承して該当メソッドだけオーバーライドすりゃいいのか? 試して報告よろっす
788Now_loading...774KB:2012/07/12(木) 14:36:38.05 ID:iKTZEV9B
>> 785-787

nextValue と previousValue プロパティの getter メソッドが public なので継承でオーバライドすることにします。
これらでレンジチェックして stepSize 分だけ増減しているだけですので。

ASは経験が浅くてというよりツール自体の扱いにまだ不慣れで苦労しますw
ありがとうございました。
789778:2012/07/12(木) 16:36:09.35 ID:1o2Jb+qN
hideBuiltInItems();の後に
builtInItems.quality = true;で解決しました
すみません
790Now_loading...774KB:2012/07/16(月) 10:38:53.71 ID:xM4H8rk9
as3.0で、たとえば24フレームから360までの間にボタンを押したら400に進んで止まるというようにしたいとき
24フレームから360まで1フレームに一つずつgptoandstopを書いていくしか方法はないのですか?
もっと効率的なやり方を教えてください
791Now_loading...774KB:2012/07/16(月) 10:51:52.58 ID:1n/4Pcgu
ボタンのイベントハンドラ処理でやればおk
とりあえずハクヒンさんとこで基本的なのを一通り読んでくるんだ
ttp://hakuhin.jp/as3.html
792Now_loading...774KB:2012/07/16(月) 11:34:08.30 ID:gZD+QhW5
もうはくひんと入門wikiはテンプレ入れようぜ
793Now_loading...774KB:2012/07/16(月) 14:03:01.62 ID:1n/4Pcgu
んだな
794Now_loading...774KB:2012/07/16(月) 19:31:21.71 ID:nU4njtci
AdobeR FlashR Platform 用 ActionScriptR 3.0 リファレンスガイド もたのみます
795Now_loading...774KB:2012/07/17(火) 14:50:49.73 ID:voKBOxJ7
CS5 XP as3.0環境下で製作してます。

ちょっと聞いてみたいんだけど、例えば、何かゲーム的なコンテンツ制作してて

タイトル画面→クリックでメイン画面に変移

みたいなとき、タイトル画面(必要ない部分)ってみんなどう処理してます?
俺はvisible=falseにしてみたり、x=-500とかで画面外に逃がしたりしてるんだけど
どうしてもas2.0の頃を思い出してしまって、違和感を覚えるというか・・・
他のみんなはどういった方法で変移させてるのかなぁ・・と思ったので。
796Now_loading...774KB:2012/07/17(火) 15:23:52.69 ID:mpALqn6c
フレーム10がタイトル 20がプレイ画面 30が…テキトーになんかの画面
メイン処理部ではフレーム毎に処理を分けてる
797Now_loading...774KB:2012/07/17(火) 15:40:15.43 ID:voKBOxJ7
>>796
おおお!!
フレームに書いてgotoAndPlayで動かすの??

as3.0ってなんか1フレーム目に全部書いちゃうみたいな
イメージあってずっとそれを踏襲してたから意外!!
感覚的にはタイムラインにのみ書く2.0みたいな感じ?
798Now_loading...774KB:2012/07/17(火) 15:41:35.16 ID:JeE7IaXD
タイトル画面の時は、タイトル画面をaddChild

AS3.0でタイムライン使うと面倒になるから、フレーム遷移はなし
799Now_loading...774KB:2012/07/17(火) 16:04:37.13 ID:mpALqn6c
>>797
フレームには最低限の処理しか書かないお this.stop();とか this.gotoAndStop();くらいかな
メインタイムラインの最初の方のフレームでメイン処理クラスをNew
メイン処理クラス内部はswitchで各フレーム処理をする さらに必要に応じてメイン処理クラス内で
他の処理のクラスをNewしたりクラス名で呼んだり…

>>798
ビットマップだけのシューティングならいいのかもしれないけど
アニメ寄りのゲームなんかだとフレーム使わないとどーにもなんないなw
視覚的、感覚的にガーッと作れるのがFlashの醍醐味だお!
800Now_loading...774KB:2012/07/17(火) 16:31:01.97 ID:JeE7IaXD
>>799
MCパーツは、タイムラインでアニメ作るよ
そういったいろんな要素をメインクラスで呼ぶわけだから
やってることはかわらんと思うよ

要は、状況を分けたり管理するのはメインのクラスであって、
メインタイムラインではやらないってだけね
801Now_loading...774KB:2012/07/19(木) 02:22:53.90 ID:JXlz3z/I
CS5.5 AS3.0 で、シューティングゲームを作っています。 addChildでステージ上に隕石と、自機からの弾を配置し
それが衝突すると、消えるという仕組みを hitTestObjectで作ろうとしています。
ですが、以下のプログラムだと 「aとbが定義されていません」と出てしまいます。
名前をつけて、 shot2 と meteo2 で試しても無理でした。どのようにすれば、hitTestObjecを使えますか?

stage.addEventListener(MouseEvent.CLICK,shot);
function shot(e:Event)
{
var a = new tama();
a.name = "shot2";
stage.addChild(a);
〜以下略〜


stage.addEventListener(MouseEvent.CLICK,meteo1);
function meteo1(e:Event)
{
var b = new meteo();
b.name = "meteo2";
stage.addChild(b);
〜以下略〜


addEventListener (Event.ENTER_FRAME,hit);
function hit (e:Event):void {

if(a.hitTestObject(b))
{
trace("Hit");
}
}
802Now_loading...774KB:2012/07/19(木) 03:01:36.90 ID:yM6hTLxu
関数の中で宣言された変数はその関数内のみ有効なローカル変数なので

var a:tama;
function shot(e:Event):void {
a = new tama();

}

のような感じに関数の外でグローバル変数として宣言すれば関数hitからも使えるとおもいます。

もしくは表示リストからnameで取得するとか

function hit(e:Event):void {
var a:tama = getChildByName("shot2") as tama;

}
803801:2012/07/19(木) 08:03:17.65 ID:JXlz3z/I
>>802
まず、上段のプログラムを試してみたところ
「TypeError: Error #1006: hitTestObject は関数ではありません。」
と出てしまいました。 プログラム自体はこんな感じです。

var a:tama;
stage.addEventListener(MouseEvent.CLICK,shot);
function shot(e:Event)
{
var a = tama;  //ここでも宣言しないとゲームが不安定に。
a = new tama();
a.name = "shot2";
stage.addChild(a);
〜以下略〜
}


下段の方も試したのですが
var a:tama = getChildByName("shot2") as tama;
var b:meteo = getChildByName("meteo2") as meteo;
if(a.hitTestObject(b))
{
trace("Hit");
}
これだと、 「TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」 と出て
hitTestObjectの部分を if(shot2.hitTestObject(meteo2)) に変えると、.name で名前をつけているのにもかかわらず
「未定義のプロパティ shot2 / meteo2 へのアクセスです」と出てしまいました。
804Now_loading...774KB:2012/07/19(木) 08:18:17.72 ID:Z2JhfAlH
>var a = tama;  //ここでも宣言しないとゲームが不安定に。

わろた
勝手に意味わかんねえ文法つけたしてんじゃねえよ
805Now_loading...774KB:2012/07/19(木) 08:24:53.95 ID:yM6hTLxu
失礼、下段ですが、弾と隕石をstageに配置しているので、

stage.getChildByName("shot2") as tama;

という感じにする必要がありました。
806Now_loading...774KB:2012/07/19(木) 10:14:20.08 ID:4arSsxTZ
デバッガ起動してnullになってる変数確認しる
807Now_loading...774KB:2012/07/19(木) 16:10:55.31 ID:Fuum4nyG
ASって結局何向きの言語なのかがわかりません
ソケット使ってオンラインゲームみたいなのはCの方が優れてると聞きますし、iPad等ではFLASH厳しいし…

詳しい方教えてください
808Now_loading...774KB:2012/07/19(木) 17:07:04.09 ID:yM6hTLxu
Flashコンテンツ、 AIR/Flexアプリケーションの開発などに向いております。iOSにもAIRで対応しています。
オンラインゲームに関してはソケット云々というよりはWindowsでゲームといったらDirectX必須なのと、
開発者人口、歴史的経緯の関係でおのずとC/C++が使われるものと思います。
809Now_loading...774KB:2012/07/19(木) 17:30:00.18 ID:4arSsxTZ
「何向き」ってもっと本質的な質問なんじゃないか?
アプリにしろゲームにしろ絵をグリングリン動かすモノに向いてるんだと思う
C++、JAVAでド派手な2Dアニメ系ゲームを作れと言われたら途方に暮れる
810Now_loading...774KB:2012/07/19(木) 18:07:54.92 ID:Fuum4nyG
>>808>>809
回答ありがとうございます
動きに強い言語という認識でよかったんですね

参考になりました。サンクスです!
811Now_loading...774KB:2012/07/22(日) 21:54:50.01 ID:GdTI0YMB
4日前からActionscript3.0を勉強してます
プログラム系まったくの初心者です、AS3.0がはじめてのプログラム挑戦です
AS2.0の式を3.0の式に変換したいのですが、うまくいきません

http://ponk.jp/flash/basic/tutorial1

このサイトの式を3.0の式に直して、なおかつその意味も教えてくださいませんか
おねがいします
812Now_loading...774KB:2012/07/23(月) 07:05:42.26 ID:bqcslO7O
はじめてのプログラム挑戦でいきなり書き換えとか思い違いも甚だしい
まずAS3の基礎から始めなさい
813Now_loading...774KB:2012/07/23(月) 10:53:52.20 ID:fT6yPxwT
まずは基本から つttp://hakuhin.jp/as3.html
814Now_loading...774KB:2012/07/31(火) 12:36:35.85 ID:OUEEp1pt
flash、as3.0、Xmlの読み込みについて教えてくださいい。
応用まで説明してるサイトあったら教えてくさい!
815Now_loading...774KB:2012/07/31(火) 13:09:25.45 ID:v7JjIY1t
XMLの読込の応用ってなんだ?
読み込んだデータの使い方の話?
816Now_loading...774KB:2012/07/31(火) 13:14:18.63 ID:J4Dsv/c4
おめ〜の欲してる答えは>>813にある どこに目エつけてんだw
真ん中くらいの「ファイルの読み込みについて」を見れ
817Now_loading...774KB:2012/07/31(火) 15:26:27.44 ID:DztGR3PW
>>814
xlm書くだろ?flaで読み込むだろ?
読み込んだ奴からいろいろ引っ張り出せる。

おしまい。

818Now_loading...774KB:2012/07/31(火) 15:39:58.46 ID:OUEEp1pt
>>815,816,817
解決しました!ありがとうございました!

下記で言うと、
listごとに中にあるデータを配列で持たせたかったのですが、<list0></list0>、<list1></list1>・・・という風に囲んでいたのがダメだったようです。
下記のようにしてlistで引っこ抜いてfor文まわしたらできましたああーー

<list>
<id>0</id>
<name>00000</name>
<comment>0000000</comment>
</list>
<list>
<id>1</id>
<name>111111</name>
<comment>111111111</comment>
</list>
 ・
 ・
 ・
819Now_loading...774KB:2012/08/01(水) 05:44:34.13 ID:gbFjOP82
font埋め込みがうまくいきません。
ライブラリからリンケージでMSP明朝でのテキスト表示はできたのですが、embedfontsをtrueにするとテキストが表示されなくなります。
この状態は、swf ファイルに埋め込まれていいないということでしょうか?

※TextFormat.fontで指定したフォントがswf ファイルに埋め込まれている時のみ動作
820Now_loading...774KB:2012/08/01(水) 12:12:08.17 ID:zjWB+t/G
埋め込む字種の設定とか正しくできてるの?
821Now_loading...774KB:2012/08/01(水) 12:53:48.58 ID:5iKSA+W2
>>820
設定については自信がないっす。

flaファイルではライブラリから新しいフォント→MSP明朝→myfont→actionscriptへ書き出し設定
 →明朝体でのテキスト表示は確認、アンチエイリアス等が適用されず、embedfontsをtrueにするとテキストが表示されなくなる。

上記を受け、下記をソースに追加。

[Embed(source="msmincho.ttf", fontName="myfont", mimeType="application/x-font-truetype")]
private var font:Class;

※msmincho.ttfはMS明朝・MSP明朝のファイル名
822Now_loading...774KB:2012/08/01(水) 13:33:47.05 ID:9g6Oxzi+
>>820
できたみたいです。
スクリプト上でnewする必要があったみたいです。embedタグは不要になりました。
823Now_loading...774KB:2012/08/14(火) 22:57:33.23 ID:8AbFyMq6
一つ質問なのですがFlashPlayer11で
BitmapDataのサイズの上限ってやっぱあります?
824Now_loading...774KB:2012/08/14(火) 23:36:11.44 ID:cKfs4Z+K
>>823
http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html
11でサイズ制限はなくなったはずだけど、
OSに依存するとあるね
825Now_loading...774KB:2012/08/15(水) 00:28:25.56 ID:t8oIpVVS
>>824
ありがとう
そしてありがとう
OSの方でひっかかってましたわ
826Now_loading...774KB:2012/08/15(水) 00:58:39.60 ID:+GxR8J38
>>825
参考までに、OSで引っかかってたってのはどうやってわかるのん?
827Now_loading...774KB:2012/08/15(水) 11:21:58.41 ID:FYcyRdAc
ブラウザ上でflashが表示されてる部分をphpか何かで動的にスクリーンショット撮って
それをtwipicあたりにアップロードする仕組みを作りたいのですが、
実装しようにもどう検索すればいいのかわかりません。
ASだけでも出来るんでしょうか?
828Now_loading...774KB:2012/08/15(水) 11:29:19.74 ID:FYcyRdAc
ブラウザ上でflashが表示されてる部分をphpか何かで動的にスクリーンショット撮って
それをtwipicあたりにアップロードする仕組みを作りたいのですが、
実装しようにもどう検索すればいいのかわかりません。
ASだけでも出来るんでしょうか?
829Now_loading...774KB:2012/08/15(水) 11:50:17.31 ID:FYcyRdAc
おもふく
830Now_loading...774KB:2012/08/15(水) 13:19:41.64 ID:+GxR8J38
>>827

BitmapData.draw→PNGEncoder
ttp://blog.hi-farm.net/2008/06/09/as3-%E7%94%BB%E5%83%8F%E5%A4%89%E6%8F%9B%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%80%81jpgencoder-pngencoder/

でFlashだけで画像ファイルのByteArray(バイナリ)までは作れる
あとは知らん
831Now_loading...774KB:2012/08/16(木) 02:07:40.61 ID:bVceb9c7
だいたい、phpで動的にスクリーンショット撮るっていうのが無理なんだがw
Flash部分だけならASで作れるが。
832Now_loading...774KB:2012/08/16(木) 06:35:33.00 ID:guMbkLf7
アクションスクリプト3.0にて

メインタイムライン上フレーム1に配置したFLVPlaybackを再生、
停止後(movie_01.stop();)、フレーム2に移動して、フレーム2に配置したFLVPlaybackを再生、
停止後(movie_02.stop();)、フレーム3に移動して………、

という事を繰り返すプログラムを組みました。

ガベージコレクションがこまめに機能しないと、メモリがあぼんするので、
メモリを強制解放するつもりで 
System.gc(); がフレーム移動毎に動作するプログラムを組みました。

adobe premiere プレビュー上の動作ではメモリが解放されるのが確認できたのですが、

スタンドアローン型のデバッグ版Flashplayerでは機能しません。



どなたかメモリを解放もしくは負荷を回避する方法をご存じないでしょうか?
833Now_loading...774KB:2012/08/16(木) 07:10:39.83 ID:n+9dsqKv
そもそもそれFPで使える機能じゃないよ
834Now_loading...774KB:2012/08/16(木) 07:39:25.95 ID:guMbkLf7
>>833
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/system/System.htmlにて

gc() メソッド----------------------------------------------------------------
public static function gc():void
言語バージョン : ActionScript 3.0
ガベージコレクションプロセスを強制します。
Flash Player デバッグ版のみ。
Player のバージョン : Flash Player 9 Update 3
---------------------------------------------------------------------------

との説明があったので可能だと思ったのですが、誤りなのでしょうか.....
835Now_loading...774KB:2012/08/16(木) 16:50:05.38 ID:9xqzJ8c3
836Now_loading...774KB:2012/08/16(木) 22:07:05.53 ID:6t9mcpjB
はいはい、AIRですね
837Now_loading...774KB:2012/08/16(木) 23:19:42.19 ID:n+9dsqKv
>>834
確かにデバッグ版プレイヤーなら可能だけど本番は普通のプレイヤーなんでしょ?
なら普通はflashでSystem.gc()なんぞ使わん
838Now_loading...774KB:2012/08/17(金) 00:02:45.96 ID:nQAVJReO
> Flash Player デバッグ版のみ。
書いてあるよねw
839Now_loading...774KB:2012/08/17(金) 00:10:17.47 ID:YLPHvtgk
>837
スタンドアローン型デバッグ版でプロジェクターを作成し、それを配布するつもりです。
840Now_loading...774KB:2012/08/17(金) 00:24:13.58 ID:SVUp7zrn
>>839
なるほど……?

とりあえず
プレミアでってのがちょっとよくわからんけど、
開放されないならGC対象になってない可能性はない?

あとはこんなのためしてみるとか
ttp://f-site.org/articles/2011/07/31220748.html
841Now_loading...774KB:2012/08/17(金) 00:34:38.76 ID:klT/J9J4
System.freeMemoryとかSystem.totalMemoryとか使って使用量見てみたら?
GCが実行されないってことは基本的に実行する必要がないからだと思うけど
842Now_loading...774KB:2012/08/17(金) 01:49:14.73 ID:YLPHvtgk
>>840
             `゙'''ー ..,_         `゙''ー ,,,>.._,.. ,,,.゙"     .''-、    ヽ   .l   .!  r ̄ 、/    /
            - ..,,_"''― ..,,,_、 ゛..,,,_           `゙'''`-..,゛ rー      `'-、  \       / 、,〃  //
           、 .`゙゙'''〜      `゙゙''''― ..,,,_.     {   ミ      `'-、 \(^o^ )/   メモリ解放したーーー!!!!!!.
               `゙゙゙'"  __  r'"⌒'- ..,,.    ´゙"''―`''' ー= .`゙''ー ,,、  `'-│  │′   ″ /   //
'-、,      . _,゙,゙ ゙̄""         !   .`゙'ミ 、 .¬―--   ___        │  │
  `゙"────'               ゙'-- ―¬           ____       │  │
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄              ⊂ω )       : ー ..,,_.
            ,, -――ー- .              /  .゙│ : ー''''"゙,゙.. ー'''',゙./   /  \        、,    .`゙'''ー
          /        ゙̄二ニ--、   : _,,,.. -ー''''  ゙ー- .″ .‐''"´ ,.. -''″   /     \  \
       .l゙         二ニ-- ‘´    _,,.. -ー     _..-‐'″ .,..ー _/     .i′ ! .l,   、 \
       .l             'ニ―' ._,,.. -‐'''"゛     ,,, -'"゛.,..  ,/´ /    ,   .l゙  | ヽヽ ヽ  `-、
... --ー'''^゙´ .ヽ          _;;jjl″       ._,,, ._..-''"゛._.. ‐'´ ., / .../    ../    . l  ! .! .ヽヽ ヽ  .`'-,
        . ゙'ー ..,,..  .'“´       ,,‐'"  .''彡….‐'″ ,/゛ . ,/     ./   .,  !  ,!  !  .ヽ ヽ ヽ
すげーこれすげーなんでこれで解放されるのかわかんえーけどすげーー!
843Now_loading...774KB:2012/08/17(金) 02:03:31.51 ID:YLPHvtgk
>>840
1フレーム前のmovieに関してはnullになっていたのでGC対象になるはずなのですが、
System.gc()はなぜか機能しませんでした。

>>841
私のPCのメモリーが16Gあるので、働かなかないのかもしれません。

GCに関しては起動条件に関してもう少し調べてみたいと思います。
とにかくこれで久しぶりにゆっくり寝れそうです。ありがとうございました。
844Now_loading...774KB:2012/08/17(金) 11:14:53.19 ID:0zzZ/cAF

flash air を使ってiphoneアプリを作っています。

そこでStageWebViewを使い、広告を表示させようとしているのですが、
広告の表示までは出来たのですが、
広告をクリックするとStageWebView内でページが切り替わるだけで
新規でウインドウを開いてくれません。

以下のコードに何かを付け足すことによって、広告をクリックした際に、
新規ページでウインドウを開かせることはできますでしょうか?



var swv:StageWebView = new StageWebView();
swv.stage = stage;
var rect1:Rectangle =new Rectangle( 0, 432, stage.stageWidth+15,100);
swv.viewPort = rect1;
swv.loadURL("広告URL");
845Now_loading...774KB:2012/08/17(金) 15:14:04.57 ID:ghYxwOPr

初歩的ですみません。わかるかたお願いします。

WindowedApplicationのリサイズがかなりモッサリしているのですが(素のままで配置コンポーネントなしでも)、なぜしょう?
こちらでもなんのイベントも取っていません。
846Now_loading...774KB:2012/08/18(土) 15:03:39.72 ID:G3rvlJn2
FlashCS5でAS3を最近始めた初心者です。
ASの練習用に 落ちてきたアイテムを拾うと10点得点が入る というゲームを作っているのですが、
アイテムを拾った時そのアイテムがどうなるかという部分がどうしても上手くいきません。
ここのスレの方ならどう記述するかお聞きしたいです。
847Now_loading...774KB:2012/08/18(土) 22:51:26.05 ID:rtxIoJaM
AS3,WinXP-Pro,CS4

横長のMC内に子としてテキストフィールド(ダイナミックテキスト)を設置したのですが、
MCに対して addEventListener(MouseEvent.ROLL_OVER, func_RollOver) としたところ、
子のテキストフィールドが縦方向にはみ出しウスが反応してしまい困ってます。

模式的には
■■■テキストフィールド■■■ ← 本来は横長のここだけの領域
 □□□□□□□□□□□□
 □□□□□□□□□□□□
 □□□□□□□□□□□□
 □□□□□□□□□□□□  ← この白抜きエリアでもROLL_OVERとして感知される
 □□□□□□□□□□□□
 □□□□□□□□□□□□
 □□□□□□□□□□□□
 □□□□□□□□□□□□
 □□□□□□□□□□□□

変な話ですがテキストフィールド(TF)が矩形にはみ出している格好です。
※このTFは new TextField(); して
TF.x = 20;
TF.mouseEnabled = false;// 一時的にマウス不可
addChild(TF); というように単純に設置しているだけです。

試しにTF無しにしたところ症状は発生しませんでしたのでTFが原因のようですが、TFの
高さをtextHeightで調べると15でしたので本来の横長領域より縦は短いです。

このような症状を回避するにはどうしたら良いでしょうか?
848Now_loading...774KB:2012/08/18(土) 22:55:50.92 ID:2Wq73PGe
MCのmouseChildrenプロパティをfalseにしてやるとか
849Now_loading...774KB:2012/08/18(土) 23:03:07.55 ID:rtxIoJaM
>>846
拾う=網か何かに当たる と解釈すると、一番簡易なのは Event.ENTER_FRAME で
監視しつつ hitTestObject で衝突判定する方法かな。

addEventListener(Event.ENTER_FRAME, onFrame, false, 0, true);
function onFrame(evt:Event) {
if(落ちてきたアイテム.hitTestObject(網とか) == true){
// 10点得点が入るとか
}
}

でも常時 Event.ENTER_FRAME だと負荷がかかるから、不要な時には 
removeEventListener(Event.ENTER_FRAME, onFrame); でリスナーを外すとベター。



>>848
早速さんきゅう。試してみます。
850847:2012/08/18(土) 23:16:41.21 ID:rtxIoJaM
>>848
テスト用SWFでは症状は回避されたのですが、本番用だとダメです。
お手数をかけてすいません。
851Now_loading...774KB:2012/08/18(土) 23:45:12.86 ID:2Wq73PGe
TextFieldのautoSizeを設定してやるとテキスト表示に必要なサイズに自動的に変更されるけど
そういうことじゃないのかな?
852Now_loading...774KB:2012/08/18(土) 23:51:42.22 ID:G3rvlJn2
>>849
解釈はその通りです。説明不足で申し訳ないです。
hitTestObjectあたりは出来たのですが、アイテムに当たっている間ずっと10点ずつ入ってしまうので、
「アイテムをどうするか」という部分に非常に悩んでしまいまして。
普通に考えると得点が入ると同時に消すのがいいと思うのですがなかなか上手く行かないんです。
853Now_loading...774KB:2012/08/19(日) 00:05:43.77 ID:Aadk0+XQ
消せばいいんじゃない

ずっと10点はいるのはアイテムに入手済みフラグを持たせとけば?
854Now_loading...774KB:2012/08/27(月) 20:29:25.72 ID:4nOaeRCl
http://up.40ch.net/swf/view.php?id=000618

上のフラッシュをスクリプトを交えてゲームにしたいのですが、
ぜひお教えいただけないでしょうか。お願いします。
855Now_loading...774KB:2012/08/27(月) 20:30:02.17 ID:mf4XxbUO
>>854
う・・・うるさい・・・
856Now_loading...774KB:2012/08/27(月) 20:38:34.61 ID:5gYOLUBt
> 上のフラッシュをスクリプトを交えてゲームにしたいのですが、
> ぜひお教えいただけないでしょうか。お願いします。
これがActionScriptの質問なのか…
857Now_loading...774KB:2012/08/27(月) 22:54:35.26 ID:5Q8f7YWQ
>>854
いいよ( ^∇゚)b
858Now_loading...774KB:2012/08/27(月) 23:52:27.20 ID:UrtsF19Z
>>857
遅レスすみません。
自分で調べてもよくわからないもので・・・。
onclipeventというものを使うということはわかったのですが。

まずキーを押すと一定速度で上昇し、話すとその速度で落下するということを
やりたいです。
よろしくお願いします。

859Now_loading...774KB:2012/08/28(火) 00:00:23.78 ID:T5ZVruz2
なんでも良いけどプログラミング言語の経験はあるのか?
860Now_loading...774KB:2012/08/28(火) 00:13:51.26 ID:W+L8EC8C
なんでも良いけど制作環境書けよ?
861Now_loading...774KB:2012/08/28(火) 01:34:18.68 ID:JuxqIk01
経験ないです。
正直これくらいならできそうと思っていたのですが、中々思うように
できません。もっと勉強するべきでしょうか。

paraflaというソフトを使っています。osはxpです。
教本などはなく、情報は全部ネットから集めました。
862Now_loading...774KB:2012/08/28(火) 02:25:50.63 ID:T5ZVruz2
・自分は使ったことが無いけどparaflaならアクションスクリプト1.0互換のプログラミング言語が使えるらしい
・parafla自体の操作方法やグラフィックの作り方などはスレチなので自分で調べてください
・変数や関数とは何かとか、if文とかfor文の意味を知らないならまずそれを勉強する必要がある
・いきなりゲームを動かすのは大変なのでまずparaflaのトレースウィンドウに数式の計算結果や文字を表示するとか単純なものから
 やっていくと良いのでは
863Now_loading...774KB:2012/08/28(火) 02:35:55.40 ID:W+L8EC8C
まあぱらふらスレで聞いてんだからそっちに教えてもらうんだな
きっと専門家がたくさんいるよ
864Now_loading...774KB:2012/08/28(火) 17:54:05.96 ID:Wr3UrKov
わかりました。そちらで聞くことにします。
失礼しました。
865Now_loading...774KB:2012/09/07(金) 21:59:29.33 ID:6IZUKoBU
AS2.0のBitmapdataで画面のSCをFLASH内で作れるようになったのですが、
このFLASH内で作った画像をphpか何かで自分のサーバーにアップロードする方法はあるんでしょうか?
できれば他の言語を介せずにFLASHだけでアップロードしたいのですが。
866Now_loading...774KB:2012/09/08(土) 04:21:16.19 ID:LE+gCQcI
AS3+PHPで画像をサーバーに保存する流れについて質問です。
それを実現するソースコード自体は検索すればすぐに出てくるからいいんですが、
ttp://alwaysfinetuning.com/ao-blog/2009/10/as3-8.html
$GLOBALS['HTTP_RAW_POST_DATA']の値から画像をそのまま保存する場合、別のフラッシュからでも画像をアップロードできてしまうのでしょうか?
指定したページのフラッシュからしかアップロードできないようにしたいんですが・・・
どういった解決策があるのでしょうか?
867Now_loading...774KB:2012/09/08(土) 15:32:01.48 ID:NjBUcLGM
ホストで弾けばいいじゃん
868Now_loading...774KB:2012/09/12(水) 00:55:48.78 ID:Y/y1Xefu
flashCS5.5 win7 です。
繰り返し使う命令を関数にしたいのですが、引数の使い方がわからないでいます。
function Hoge():void{
mc.x=20;
}
という関数を、Hoge();で使い回したいのですが、
引数を使って、mcの後ろの数字を変えて使い回す場合
どうすればいいのでしょうか?

よろしくお願いいたします
869Now_loading...774KB:2012/09/12(水) 01:13:08.77 ID:752HlnPC
Hoge(x:String){
mc[x]=20;
}
AS3.0もコレ使えるの?
870Now_loading...774KB:2012/09/12(水) 09:21:00.60 ID:BFMF1tH5
function hoge(hogege:String):void{
this["mc"+hogege]=20;
}

で、どうだろうか。
871Now_loading...774KB:2012/09/12(水) 16:03:49.13 ID:Y/y1Xefu
869、870
ちょっとやってみます!
872Now_loading...774KB:2012/09/13(木) 05:11:08.77 ID:CWbPdCwd
win7 + FlashDevelop 4.04 + XAMPPの環境です。

ちょっとお聞きしたいんですが。
ttp://actionsc.web.fc2.com/game_challeng10.html
ここのゲームを試しに作っています。

で、タイトルの表示とスタートボタンの点滅まではうまくいったのですがマウスのクリックの部分がどうしてもうまくいきません…。
コンパイルは成功するんですが…
アドバイスをもらえないでしょうか?
こちらがソースです。
ttp://stocas.webhop.net/download?ed7c0b8da6

あとゲームのタイトル画面用画像を読み込まないように//でコメントアウトした状態でコンパイルしてもブラウザから確認すると画像が表示されるのですが、これはコンパイルが失敗しているということでしょうか?

長くなりましたがどなたかお願いします…。
873Now_loading...774KB:2012/09/13(木) 05:32:35.54 ID:CWbPdCwd
自己解決しました。

根本的なミスで別プロジェクトでload用のクラスを作っていました…。

874Now_loading...774KB:2012/09/14(金) 14:55:49.84 ID:emgQQWl1
as3.0でローカル関数って
処理が終わったら消えるの?

モグラ叩きっぽいのを作ってるんだけど
関数内でタイマー宣言してコンプリートしたら
モグラだす、的な流れにしてるんだけど
延々とタイマーが増え続ける、とか・・・無いよね・?
875Now_loading...774KB:2012/09/14(金) 16:26:22.33 ID:V4VBvf+q
イベントリスナー参照があるとGC対象から除外されない
876Now_loading...774KB:2012/09/14(金) 16:27:17.61 ID:V4VBvf+q
ごめん、除外「される」
877Now_loading...774KB:2012/09/16(日) 11:06:03.88 ID:TVzrPFaH
すみません、質問させてください。
ActionScript2.0でFlash Lite向けに開発しています。
シェイプやテキスト、画像(リソースで、外部から読み込む必要がないものです)を表示しようと、main(swfRoot:MovieClip):Void {}の中で
swfRoot.beginFillやswfRoot.swfRoot.createTextFieldでシェイプ・テキストの表示ができています。
背景画像として画像を表示するのにswfRoot.attachMovieを使うとシェイプが消えてしまい、画像とテキストだけになってしまうのですが
何か描画の階層を変更する必要があるのでしょうか。
もし他の画像表示方法があれば、教えてください。
878Now_loading...774KB:2012/09/16(日) 15:27:47.57 ID:TVzrPFaH
>>877
解決しました。swfRoot.createEmptyMovieClipで新しくMovieClipを作成してから
そちらに画像をattachMovieすればよいですね。お騒がせしました。
879Now_loading...774KB:2012/09/16(日) 20:46:39.31 ID:RCeLxoLZ
CS5.5 AS3 パッケージ名をどう指定すればいいのかわからねえ エラーメッセージ↓
>5001: パッケージ 'org.aaa.bbb' の名前にこのファイルの場所が反映されていません。
>このファイル内のパッケージ定義の名前を変更するか、ファイルを移動してください。

やりたい事:ライブラリ内のMCをクラス定義したい
ActionScript設定からソースパス(C:/Users〜〜org/aaa/bbbのフルパス)を通し
MCのプロパティでチェックボタンを押すと 「このクラスの定義がC:/Users〜〜org/aaa/bbb/クラス名.asで見つかりました」と出る
MCのクラスのパッケージ名は package org.aaa.bbb{ と指定 しかしパブリッシュすると上記の5001エラーが出る なんで?

パッケージ名をフルパスにしてみてもだめだった package{ のみでもだめ
ちなみにFlaファイルと同じ階層にクラスファイルを置いて package{ のみだとエラー無し
そもそも階層構造だとダメなのか?? ドキュメントクラスは使っていない
880Now_loading...774KB:2012/09/16(日) 21:00:05.16 ID:QEln60II
ソースパスはorgの1個上まででいいんじゃね?
org.aaa.bbbって指定するなら
881Now_loading...774KB:2012/09/16(日) 22:49:39.53 ID:Sl4Xz/2z
環境) WinXP-Pro,CS4,AIR2.0
wonderflで使われてるFontLoaderクラスで質問です。

例えばhttp://wonderfl.net/c/4tnWでは
import net.wonderfl.utils.FontLoader; で使われていますが、スタンドアローンで
実行するのは不可能なのでしょうか?

試しに上の4tnWをZipでDL→(解凍)→SWFでPC上で実行したのですが何も表示され
ませんでした。 クラスというかライブラリでどっかからDL出来ないものでしょうか?

なお、http://wonderfl.net/c/8Zh5では「ローカルでも試せる!」とのことですが、Zipで
DLしてSWFを再生しても何も現れません。

宜しくお願い致します。

※何故wonderflで直接聞かないのかと言いますと、今迄wonderflで3回質問しましたが
全て一ヶ月以上経っても1個も応答がなかったのでここで聞きました。
882Now_loading...774KB:2012/09/16(日) 22:55:49.03 ID:QEln60II
>>881
https://github.com/mash/WonderflUtils
↑から落とせるんじゃねーの?
883881:2012/09/16(日) 23:05:20.22 ID:Sl4Xz/2z
>>882
早速有難うございます。
サイトにあるZipをDLして、src/net/wonderfl/utils内でFontLoaderが見つかりました。
試してみます。
884Now_loading...774KB:2012/09/17(月) 07:59:07.67 ID:musJldjY
>>880
だめですな…orz ファイル構造はこんな感じ↓
Flaファイル
orgフォルダ - aaaフォルダ --------- bbbフォルダ  ------- ccc.as (MCクラス定義ファイル)
                                        main.as
                        - 各コンテンツフォルダ
                        - 以下色々
        - libspark とか
        - papervision3d とか以下色々

ソースパス C:\Users\ユーザー名\Flash\CS55\org\aaa\bbb (MCプロパティのリンケージで検出済み)
ccc.asのパッケージ名
 package{ //5001エラー
 package org{  //5001エラー
 package org.aaa{  //5001エラー
 package org.aaa.bbb{  //5001エラー
 package Users.ユーザー名.Flash.CS55.org.aaa.bbb{  //5001エラー
 package C.Users.ユーザー名.Flash.CS55.org.aaa.bbb{  //5001エラー
885Now_loading...774KB:2012/09/17(月) 09:11:37.43 ID:musJldjY
わあー 信じられない できた…!
やはりパッケージ名はディレクトリ構造と同じでおk
ソースパスは .\org\aaa の1個手前のフォルダまで指定
問題はMCプロパティのリンケージ設定で デフォのままだとクラスファイルしか表示されてないんだ
で そこに org.aaa.bbb.ccc とパッケージ名を含めたファイル指定でうまくいった
クラスファイル名のままでもチェックボタンで「見つかりました」と出りゃ そらここが怪しいとは思わないわ
ひどい話だ
886Now_loading...774KB:2012/09/17(月) 11:39:56.04 ID:J0tfGxhG
常識だろ
そこ指定しなきゃ別パッケージの同じクラス名のやつどうすんだ
887Now_loading...774KB:2012/09/17(月) 12:27:34.78 ID:musJldjY
>別パッケージの同じクラス名のやつどうすんだ
そう言われて色々試してたら MCリンケージでパッケージ名+クラス名指定すりゃ
ソースパス通さなくても動いたな
パス通す時ってのはFlaファイル位置より親の違う構造の時だけでいいのか

しかし解り辛いのには違いない Flaファイルと同階層以外の構造ですんなり出来たやつぁ少ないはずだw
888Now_loading...774KB:2012/09/17(月) 12:35:05.69 ID:musJldjY
そもそもエラーメッセージが悪い
「このファイル内のパッケージ定義の名前を変更するか、ファイルを移動してください。」 としか出ない
二択だものw 「リンケージのクラス名指定でパッケージ名が含まれてません」とか出りゃ1発だったなw
889Now_loading...774KB:2012/09/17(月) 17:35:50.67 ID:8YkRlSnu
馬鹿には無理
890Now_loading...774KB:2012/09/18(火) 03:59:05.21 ID:hZ57tbU9
出来上がったswfファイルを80KB程サイズを減らす必要があって
フレーム数を変えずにサイズ減らすには何が効果的でしょうか?
891Now_loading...774KB:2012/09/18(火) 08:20:09.33 ID:GocyGthf
画像の圧縮率
892Now_loading...774KB:2012/09/18(火) 11:42:18.28 ID:78AStxFr
>>890

徹底したシェイプのパス削り(円なら2パスでいける)
画像なら>>891の言うように圧縮率
文字あるならデバイスフォントに切り替え
出来るだけ分解する(場合によっては分解したら容量増える場合もある)
インスタンス化出来るものは極力インスタンス化して使いまわし

ざっと思いつくのはこのくらいかな

893Now_loading...774KB:2012/09/18(火) 11:45:32.12 ID:78AStxFr
>>890

ごめん、80k減らす、を見てなかった

そんなに減らすんだったらオブジェクトの単純化なんかも
視野に入れる必要出てくるんじゃないかな。
どんなものか分からないけどフレームを削れないなら
絵そのものをシンプルなモノに変える、などをしていかないと
>>892で言ったようなことは最後の削りの部類だから。。
894Now_loading...774KB:2012/09/18(火) 14:09:27.86 ID:pJrKpA4Q
質問です。
AIRでURLLoaderを使ってAとBのサイトにアクセスしてるのですが、
両サイトのCookieの中身を取得するにはどうしたら良いでしょうか?
manageCookiesはtrueです。
895Now_loading...774KB:2012/09/18(火) 22:04:51.42 ID:eUbdBanX
AS2.0から3.0のフラッシュにlocalconnectionでbitmadataを送る事はできるんでしょうか
3.0の開発環境が無いので確かめる事ができないので
896Now_loading...774KB:2012/09/18(火) 22:30:23.21 ID:GocyGthf
3.0の開発環境は無料ですぐ構築できます
897Now_loading...774KB:2012/09/19(水) 00:32:31.78 ID:9YAlPtax
コード書くならFlashDevelopすごいイイね
898Now_loading...774KB:2012/09/19(水) 09:31:27.89 ID:FAGOCPI4
一応LocalConnectionするとObject型でbitmapdataを受け取ってはいるみたいですが、traceするとnullになってます。
やり方が悪いのか、そもそも不可能なのかが分かりません。
899Now_loading...774KB:2012/09/19(水) 12:18:35.18 ID:qYE4O2Wp
>>898

traceって、トレースの引数は文字列型でしょ。
バイナリーをいきなりトレースはできないのでは!
キャストした?
900Now_loading...774KB:2012/09/19(水) 16:32:21.38 ID:FAGOCPI4
>>899
キャストはしてませんが、
受け取ったと思われるbitmapdataをdrawしようとしたらエラーが出ます。

そもそもbitmapdataが送られてないのか、drawできないのかが分かりません。
901Now_loading...774KB:2012/09/19(水) 16:59:19.41 ID:bLPVcK/B
traceの引数って別にString限定では無いが。
toString()が呼ばれるだけ。
902Now_loading...774KB:2012/09/22(土) 14:37:09.95 ID:VrnKP9w0
エラー出た 1023: オーバーライドに対応していません。
オーバーライドはメソッドの戻り値の型を変更出来ないんだっけ?
903Now_loading...774KB:2012/09/22(土) 14:40:48.74 ID:4XBTSV1z
引数も戻り値も変更できない
904Now_loading...774KB:2012/09/22(土) 14:43:03.52 ID:VrnKP9w0
了解 AS3はオーバーロードも無いんだよね?
905Now_loading...774KB:2012/09/22(土) 14:49:32.90 ID:4XBTSV1z
ないねえ。4ではわからんけど
906Now_loading...774KB:2012/09/22(土) 15:03:12.39 ID:VrnKP9w0
了解
4っていつ頃なんだろ もう大まかな変更点なんて無いんでしょ?
3D関連のコンポーネント制御用の何かとかかな
907Now_loading...774KB:2012/09/22(土) 19:23:40.04 ID:VrnKP9w0
またまた教えてもらいたい 妙な現象が起きた
読み込んだPNG画像(png24)からgetPixel、getPixel32を使って「正確な色」を抽出したいんだけど
画像ソフトで設定した色と若干変わってしまう
白色の場合    画像ソフト→ ffffff
        getPixelで抽出→ fdfdfd
青色の場合    画像ソフト→ 0000ff
        getPixelで抽出→ 0000fd
なぜだろう 他の色も若干変わってしまう
908Now_loading...774KB:2012/09/22(土) 20:20:19.34 ID:4XBTSV1z
getPixel32は透明度のあるやつは正確な?値がとれないっていうのはある
getPixelのほうはなんだろ…

•AS3で色指定して塗ったものからgetPixelしたらあっているか?
•画像ソフトで設定したその画像を他のカラーコードを取れるソフトで判別するとどうなのか?

このへんはどうでしょ
909907:2012/09/23(日) 09:52:46.47 ID:nc/VnqKq
レスどうもです 昨日の続きです
外部読み込みの時のみ青色に限らず他の色もHSBカラーのBが1%下がってしまう …なぜだ
青ff→fd 白ffffff→fdfdfd 濃い緑a651→a44f

手動で画像をライブラリに読み込みMCにしステージ上に配置 
var bm:BitmapData = new BitmapData( サイズ指定 );
bm.draw( 配置したMC );
trace( bm..getPixel( 0, 0 ).toString(16) );//左上隅の青色 結果:ff

ローダー処理で外部読み込み
var bm:BitmapData = ローダーオブジェクト.content.bitmapData;
trace( bm..getPixel( 0, 0 ).toString(16) );//左上隅の青色 結果:fd

一回受けてdrawでコピーした場合も同じ
var obj:DisplayObject = ローダーオブジェクト.content as DisplayObject;
var bm:BitmapData = new BitmapData( obj.width, obj.height, false );
bm.draw( obj );
trace( bm..getPixel( 0, 0 ).toString(16) );//左上隅の青色 結果:fd
910Now_loading...774KB:2012/09/23(日) 17:33:51.36 ID:1oBNblMa
MC(Sprite)の分身の作り方で質問です。
AS3,FlashCS4以降、Player10.0以上

配置としては http://uproda11.2ch-library.com/365180E0V/11365180.png 
のようにオリジナル(本体:A)があってその背後に分身(コピー:B)を作りたいです。
※Bは半透明にして背後霊みたいに存在させたいです。

決まった挙動のオブジェクトであれば A = new MCのクラス(); B = new MCのクラス(); 
として addChild(B); addChild(A); で設置できますが、ランダム関数を用いたノイズや
http://wonderfl.net/c/hknU だとソックリそのままダミーを再現することができません。

AS2なら duplicateMovieClip() でコピーできますが、AS3だと厳密な複製は不可なので
困ってます。

1つの案としては、Adobeのサイトで見かけた鏡像を作る方法で
  ■ ←オリジナル
  −
  □ ←鏡面に映ったダミー

があるかと思いますが、このサイトのURLを失念し参照できません(誰か知ってますか?)。

何かアドバイス頂けたら幸いです。
911Now_loading...774KB:2012/09/23(日) 18:02:16.28 ID:yOwIzvx3
質問です。
import flash.ui.Keyboardなどでインポートされる標準ライブラリ?の中身を参照したいのですが、
(環境等による違いがあるかもしれないので大体)どの辺にインストールされているのでしょうか?
というか、そもそも参照できるのでしょうか?
912東京・急募:2012/09/23(日) 18:46:33.09 ID:Pc4Mk8j3
【ホームページ作成出来る方募集】
ベースになる原稿は有ります。
業者にお願いするよりも割安で作成して頂ける方ご連絡下さい。
企画・構成・等も出来る方だと助かります。
料金も前金でお支払いしますので
都内で打ち合わせ出来る方宜しくお願い致します。
先ずはメールにてお問い合わせお待ちしてます。



913Now_loading...774KB:2012/09/24(月) 09:43:15.50 ID:92To1rLY
>>912
ここ求人するスレじゃねーよ、馬鹿か?
914Now_loading...774KB:2012/09/24(月) 12:12:28.41 ID:T0YX+bjt
メアドが何か怖いw
915Now_loading...774KB:2012/09/24(月) 14:28:20.30 ID:V9i0E1Lk
FLASH CS6 as3
質問させて頂いて宜しいでしょうか。
複数の動画のループ再生の方法で困っております。

【やろうとした事】
外部の動画ファイル(2秒程度のアニメ)を絶え間なくループさせる。
動画ファイルは数パターン有り、クリックや時間で時折変更する。
(例・2秒の雨がループし、時折ループ中に雷の動画を挟んだり窓が揺れたりと…)

【行なった事】
6パターンの動画を使用する場合
最初に
new NetStream() ※6回
new Video(); ※6回
addChild (Video); ※6回

info.code == "NetStream.Play.Start"
の読込開始時に
seek(0); pause(); visible=false;
で一旦全ての動画を止めました。その後に表示する動画を
visible=true;
resume();
しましたが、この時に結構な割合で読込の失敗や画面が固まるなどと言う事が起こります。
※10回か20回に1回くらい
画面が固まった後、数票後に読込失敗した場合は黒いまま進み、成功した場合は表示されます。
これを避ける方法はあるでしょうか。

また、私のやり方など間違えているでしょうか。
もっと良い処理の仕方など御座いましたら教えて頂ければ幸いです。
916Now_loading...774KB:2012/09/24(月) 23:50:40.87 ID:PWxyMvU4
結局localconnectionでbitmapdataを送るのは不可能なんですか?
917Now_loading...774KB:2012/09/25(火) 03:26:49.37 ID:LxoFFZ1f
>>915
外部ファイルを全部読み込んだうえで1つのNetStreamとVideoを使い回した方がいいようなきがする

>>916
できるっぽいけど
http://www.rubyglob.com/sending-bitmapdata-through-a-localconnection/
918Now_loading...774KB:2012/09/25(火) 04:53:26.59 ID:RgW8rsfM
>>910
BitmapDataに描画して配置すれば?

>>915
動画の読込途中なのに再生してるんじゃない?
919Now_loading...774KB:2012/09/25(火) 09:53:43.90 ID:SOrVmuwu
「文字列16進数」の計算で結果も16進数で欲しい場合
10進数に変換→計算→16進数に再変換しかないんだ? これが最短で最速?
リアルタイムゲーなんかで16進数の文字列データの書き換えなんかは
substr、substring使って切り分けて繋ぎなおした方が単純に速い?

var d1:int = 0xff;//number型の16進数
trace( ( d1 + d1 ).toString(16) );//結果:1fe(510)

var d2:String = "FF";//string型の16進数
trace( ( parseInt( d2, 16 ) + parseInt( d2, 16 ) ).toString(16) );//結果:1fe
920915:2012/09/25(火) 11:10:39.98 ID:knf2i8Uh
>>917 918
ありがとうございます。とても参考になりました試してみます。
921Now_loading...774KB:2012/09/25(火) 11:14:32.57 ID:RzM/PvSp
最短だと思うが。
922Now_loading...774KB:2012/09/25(火) 13:03:27.00 ID:SOrVmuwu
どうもです
気が付いたんですが 32ビット以内の場合に限りデータ型をStringじゃなく
uintの16進数にすればいちいち変換しなくてもビット演算等で書き換えれますな
内容を確認したい時だけストリング変換で…
32ビット以上の長いのや他のアスキー文字が必要な時がString型のsubstring切り分け方式か
923Now_loading...774KB:2012/09/25(火) 13:17:34.65 ID:0O+ZIfGi
as3.0でモグラ叩きのような動作がどうしても思いつかなくて
困っています。

(出来るだけ)ランダムに出たり引っ込んだりしている。
クリックすると引っ込む。

場に出るモグラは5個

どなたかアドバイスいただけないでしょうか。。。
924910:2012/09/25(火) 13:36:23.14 ID:EVLMKLsT
>>918
てんきゅう。BitmapDataでやってみます。


>>923
var timer:Timer = new Timer(ミリ秒, 回数); で kazu = Math.floor(Math.random()*100);
kazu= 0〜99 の数を発生させて kazu が5とか7の素数の倍数になった時、つまり if(kazu%7 == 0){}
で処理すれば?
5個のモグラも別のkazuA if(kazuA%素数 == 0){} で出現するかどうかを判別する。

といった感じでどう? %の右隣が素数になってるところがポイント。
925Now_loading...774KB:2012/09/25(火) 13:43:42.89 ID:0O+ZIfGi
>>924

なるほど!ありがとうございます!!
926Now_loading...774KB:2012/09/25(火) 19:07:05.78 ID:SCAUKKMB
IOErrorになったurlを取得する方法はないでしょうか?
IOErrorEventからはとれないみたいです。
927Now_loading...774KB:2012/09/26(水) 00:42:08.38 ID:0JX16RY2
>>917
ありがとうございます
928Now_loading...774KB:2012/09/27(木) 06:08:26.57 ID:4DUYFwwq
Air for Android でソースを書いていて困ったことがあったので、誰か助けてください・・・。

まず、ちょっと重めのMC作って、再生がゆっくりになってしまったので、
フレームスキップをして等速で表示するようにしたんです。

それで、そのアニメーションのMCは仕様上は繰り返し表示されるので、
ムービークリップのCacheをフレーム毎にBitmapDataに動的に作成するようにライブラリを組みました。
ここで問題が発生しました・・・。

フレーム30→フレーム5のようにフレームを戻ってdraw()した際、
フレーム5の内容の上にフレーム30の内容がBitmapDataに
レンダリングされる現象が確実に起こる事が発覚・・・。
回避方法探しているのですが、誰か知りませんか?

ちなみに、再現するのはAir for Androidでだけです。
929928:2012/09/27(木) 06:25:51.59 ID:4DUYFwwq
スピード自己解決しました。

描写元のMCのvisibleをBitmapDataにdraw()するときだけtrueにして解決しました。
どうやら、MCのvisibleをfalse→trueに設定し直すと、
ステージからは見えないMCでも表示が更新されるようです。

逆に言うと、addChild()してなくてもMCのvisibleをtrueするだけで、
デバイスの処理能力を使うということですね・・・。
930Now_loading...774KB:2012/09/27(木) 06:26:50.45 ID:4DUYFwwq
それにしても相変わらず、書くと自己解決する不思議なスレだ・・・。
931Now_loading...774KB:2012/09/27(木) 06:37:35.86 ID:4DUYFwwq
自己解決かとおもいきや、実機だとまだなるっぽい・・・。
932Now_loading...774KB:2012/09/27(木) 23:29:42.61 ID:gkvDrUoe
javaで簡単なAndroidアプリ作れるくらいのレベルでAS3は全く未経験
FlashDevelopを使ってゲームを作りたい
初歩的な所〜解説してるサイトはありませんか
933Now_loading...774KB:2012/09/28(金) 01:37:58.53 ID:Shrz+u30
FlashDevelopは知らんがAS3(AS2も)入門用と言えばコレ
ttp://hakuhin.jp/as3.html
934Now_loading...774KB:2012/09/28(金) 12:19:05.76 ID:aOePz9XN
関係ないけど、TLFテキスト使うと
swfの変数の受け渡しが出来なかったり、前のフレームに戻ると
動画が消えたり変な事起こるね…
クラシックテキストにすると治るんだよね(`・ω・´)
935Now_loading...774KB:2012/09/28(金) 12:45:19.74 ID:iUBNSSMU
>>934

俺もソレじゃないけどTFLテキストで縦書きしたら
表示されなくなったり、fla自体が強制終了したり
おかしな事は起こってたよ
936Now_loading...774KB:2012/09/28(金) 12:45:30.42 ID:BplxUOni
うちもTLFは敬遠してるw
なんか挙動がおかしいんだよな
文字、文章主体の作品用に開発されたんだろうけど使ってる人は少ないと思うw
937910:2012/09/28(金) 15:53:17.64 ID:Shrz+u30
(背後霊のようにMCのコピーを作る件)
実際にBitmapDataでやってみたので報告。

簡単なアニメーション(ある点を基準に円盤が環状線の様に動く)で試したらOKでした。

ただし、複製したオブジェクトは Event.ENTER_FRAME で addChild(ビットマップ);
追加し、古いビットマップは毎回削除して null にしてますが Player10.0 ではメモリーが
増加の一途です ※CS4のデバッグPlayerならGCが効くせいか大体一定。

デバッグの Player10.1 でも増加の一途だったので、長時間の実行には不向きのようです。

以上
938Now_loading...774KB:2012/09/28(金) 22:12:53.54 ID:Y4tTQP5O
1回作って位置を変えて使いまわすのじゃダメなのか?
EnterFrameでオブジェクト作ったりaddChildする設計なんて
どうしてもそれしかない時くらいやらんだろう普通…
939Now_loading...774KB:2012/09/28(金) 22:16:32.26 ID:6fNWyvxs
enterFrameでBitmapDataにdrawでしかもnewしてるとか正気じゃねえな
BitmapDataはちゃんとdisposeしてんの?
940Now_loading...774KB:2012/09/28(金) 22:17:21.85 ID:6fNWyvxs
>>938
MovieClipのアニメーションなんじゃないかな
941Now_loading...774KB:2012/09/28(金) 22:48:11.42 ID:rQocTYun
なんだかルー語みたい
942910&937:2012/09/28(金) 22:57:26.51 ID:Shrz+u30
>>938-940
レス有難うございます。
今回のクルクル回るMCはあくまでもテスト用で、本番はhttp://wonderfl.net/c/hknUや
http://wonderfl.net/c/nIlIのようなムービーです
すいません、BitmapDataはdisposeしてませんでした。
943910&937:2012/09/28(金) 23:28:37.10 ID:Shrz+u30
(追記)
Bitmapオブジェクト.bitmapData.dispose(); でメモリー消費を抑えることが出来ました。
増えるのは変らないのですが、時間当たり増加量が1/100くらいになりました。
(Player10.1なら、1分動かしてもプラス2MBくらい)
944Now_loading...774KB:2012/09/29(土) 00:11:54.70 ID:6b50Cdls
FLASH CS5 as3
大変初歩的な質問で申し訳ないのですが、よろしくお願いします。

例えばシーン上に無数のムービークリップが配置されているとして、
この中で「test1」「test2」・・・
というように「test」という名前がついたインスタンスのみを一括でremoveChildしたいのですが、
何か効率的な方法はありますでしょうか。


945Now_loading...774KB:2012/09/29(土) 02:11:17.12 ID:0hhe7XTb
>>944
予め配列で mcArr[id] = new TestMC(); として

for(var id:int=0; id<個数; id++){
親.removeChild(mcArr[id]);
mcArr[id] = null;
}

か、同一階層なら

for(var id:int=0; id<個数; id++){
this.removeChild(this["test" + id.toString()]);
this["test" + id.toString()] = null;
}

※ removeChildは退場させるだけなのでnull にしないとメモリに残ってしまう。

ちなみにPlayer11なら removeChildren() で一括消去できるらしい。
ttp://www.project-nya.jp/modules/weblog/details.php?blog_id=1692
ttp://www.fumiononaka.com/TechNotes/Flash/FN1110001.html
946944:2012/09/29(土) 02:21:31.63 ID:6b50Cdls
>>945
おかげさまでバッチリうまくいきました!
しかも追加情報まで頂いて、ありがとうございました!
947Now_loading...774KB:2012/09/30(日) 17:29:01.34 ID:eseuYZHT
すいません、知っている方いたら教えてください。
Flash Builder 4.6で、モバイル開発を行っています。
現在、ビューをActionScript3で書こうと思っているのですが、
うまくいきません。

やりたいことは、VGroupの中に、ボタンを複数持ったHGroupを6段、
上から順に並べたビューを作ることなのですが、なぜか1段目の
HGroupしか表示されません。
ソースは下記の↓安価に。
948947:2012/09/30(日) 17:33:36.37 ID:eseuYZHT
var vgroup:VGroup = new VGroup();
vgroup.percentWidth = 100;
vgroup.percentHeight = 100;
vgroup.verticalAlign = "center";
vgroup.horizontalAlign = "middle";
this.addElement(vgroup);

for(var i:int = 0; i < 6; i++)
{
var hgroup:HGroup = new HGroup();
hgroup.percentHeight = 12.5;
hgroup.percentWidth = 100;
hgroup.verticalAlign = "middle";
hgroup.horizontalAlign = "center";

for(var j:int; j < 7; j++)
{
var button:Button = new Button();
button.percentHeight = 70;
button.percentWidth = 10;
button.label = ((i+1)*(j+1)).toString();
hgroup.addElementAt(button, j);
}

vgroup.addElementAt(hgroup, i);

どこがおかしいのでしょうか、ご教授願います
949Now_loading...774KB:2012/09/30(日) 21:40:45.97 ID:cqxXwAdb
>>948

for(var j:int; j < 7; j++)
↓初期化する
for(var j:int = 0; j < 7; j++)
950Now_loading...774KB:2012/10/01(月) 03:11:56.54 ID:yWCEu7hI
>>943
BitmapDataをdisposeするとか論外。

バッファを開放せずにfillRectで塗りつぶすなどして再利用しないと。
951Now_loading...774KB:2012/10/04(木) 03:03:24.15 ID:E0PSbmyl
Flash AIR for androidにて
OSCでデータを送信する際にインスタンス名を送りたいと考えてるのですが
どのようにすればいいのでしょう・・・
必要そうなところだけ抜粋します。
受信側では" "で囲っている / instance.name が現在表示されるようにしています。
instance.nameのところになんとか代入?とかできないでしょうか
基礎からよくわかっていない状態ですがよろしくお願いします・・・

ball_pink.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler);
ball_blue.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler);
ball_green.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler);
ball_yellow.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler);

var myMsg:OSCMessage = new OSCMessage();
myMsg.address = "/";
myMsg.addArgument("s", "instance.name");

function fl_TapHandler(event:TouchEvent):void {
oscManager.sendOSCPacket(myMsg);
}
952Now_loading...774KB:2012/10/04(木) 15:38:29.18 ID:BuhP21SN
as3.0 CS6で製作しておりますが、質問させてください。

クラスで動的に生成したmcをremoveChildしたい場合は
変数をremoveChildする、というような形になるのでしょうか・・?
953Now_loading...774KB:2012/10/04(木) 17:58:46.91 ID:k0Q6g7ht
>>952
そうですよ。
954Now_loading...774KB:2012/10/04(木) 18:13:37.98 ID:BuhP21SN
>>953

そ・・・そうですよね。。。?そうだと思っていたのですが。。

タイムライン上に

var add_hoge:Inu=new Inu(hoge);

で、タイムラインに静的に配置したMC(hoge)の中にカスタムクラスで生成した
mcをaddChildしたんです。

それをタイムライン上のスクリプトでremoveChild(add_hoge)すると
InuはDisplayObjectじゃないからダメよ、的なエラーが出るのです。。

なんでなんでしょうか??!!
ご教示いただけないでしょうか。。
955Now_loading...774KB:2012/10/04(木) 18:22:16.54 ID:/zIQ0PEC
removeChild(add_hoge as DisplayObject) でやってみたらどうなる?
956Now_loading...774KB:2012/10/04(木) 18:27:23.18 ID:BuhP21SN
>>955

指定したDisplayObjectは呼び出し元の〜・・となりました。。
位置が違うのでしょうか・・・?
957Now_loading...774KB:2012/10/04(木) 18:35:03.74 ID:BuhP21SN
配列に放り込んだらいいのかな・・・・と思って

var add_hogeを配列に変えて

add_hoge[0]=new Inu(hoge);

にしてみたのですが、それでも

removeChild(add_hoge[0])

すると、指定した DisplayObject は呼び出し元の子でなければなりません。

と言われております。。

場所がどこだかまるで見当がつかず困っております。。
958Now_loading...774KB:2012/10/04(木) 18:39:59.08 ID:k0Q6g7ht
>>957
まず、Inuは、DisplayObjectを継承しているの?
MovieClipかSpriteか?
で、ちゃんとタイムラインにaddChild(add_hoge);
しているの?
addChildしてないとremoveChildできないんで
959Now_loading...774KB:2012/10/04(木) 19:02:51.44 ID:BuhP21SN
>>958

??ちょっと気になったのですが、クラスからaddChildするのと
タイムラインからaddChildするのって違いがあるんですか?!もしかして。。

クラスでaddChildしたものをタイムラインからremoveChild出来ない・・・とか・・?
960Now_loading...774KB:2012/10/04(木) 19:11:18.15 ID:CO7XW/L4
>クラスでaddChildしたものをタイムラインからremoveChild出来ない・・・とか・・?
クラスの方でremoveChildさせるpublicメソッド定義しときゃいいんだお
タイムラインからnewしたんなら そのインスタンスから操作できるべ

どっかのサイトでOOPの基礎的なもん勉強しるんだ C++でもJavaでも内容は似てる
961Now_loading...774KB:2012/10/04(木) 19:11:58.61 ID:k0Q6g7ht
>>959
とにかく、インスタンス化したInuクラス、add_hogeってやつは、
addChild(add_hogeっ)してるんであれば、removeChilc(add_hoge)
できます。

FlashProfessionalでは、addChildの記述なしでaddChildできるんで
そこんとこが分かってないのかと
ただ、newしてるんでこの場合は、addChildしないと
いけない。ここはOKですか?
962Now_loading...774KB:2012/10/04(木) 19:37:26.34 ID:BuhP21SN
>>961

そこはOKです。
963Now_loading...774KB:2012/10/04(木) 19:40:47.10 ID:BuhP21SN
>>960

すみません。。ちょっと興味本位でクラスでaddChildしたものを
タイムラインの方でremoveChild出来たら便利だなぁ、と漠然と思って
作り始めたものでして。。。
964Now_loading...774KB:2012/10/04(木) 19:48:34.95 ID:k0Q6g7ht
>>963
試しに、
add_hoge.removeChild(add_hoge.getChildAt(0));
これで消せるのでは?
965Now_loading...774KB:2012/10/04(木) 19:56:58.96 ID:BuhP21SN
>>964

指定したインデックスが境界外です。

とのお言葉が・・・

やっぱりクラス内にメソッド作ってそれで消す方がいいのでしょうか・・。
本などを購入していたのですが、addChild、removeChildに関しては
どの本も両方ともクラスの中でやってるか、タイムライン内でやっていたので
クラスでaddChildしたものをタイムラインでremoveChildするには
どうすればいいんだろう。。と思ってやってみた次第なのですが
まさかこんなに分からないとは・・・・・・
966Now_loading...774KB:2012/10/04(木) 20:06:25.30 ID:k0Q6g7ht
>>965
ちょっとまって?やっぱりaddChildやってない気がする....
0が境界外ってことは、childがないってことだよ。
つまり、addChildしてないってことになる。
クラスに渡したhogeってやつもaddChildしてないのでは?
967Now_loading...774KB:2012/10/04(木) 20:28:12.56 ID:BuhP21SN
>>966

addChildしてる場所が違う、ってことも考えられますか?
クラスに渡す際にaddChildする場所を渡しているので
勝手に自分でhogeの中の子になる、と思い込んでいるのですが・・
968Now_loading...774KB:2012/10/04(木) 20:34:20.58 ID:k0Q6g7ht
>>967
え?Inuクラスの中にhogeをaddChildするんじゃないの?
hogeの親は、なんなんですか?
969Now_loading...774KB:2012/10/04(木) 20:58:37.01 ID:BuhP21SN
>>968

最初から配置しておりますのでhogeの親は・・stage?になるのだと思うのですが・・・

hogeをタイムライン上からremoveChildすると中身も全部消えるので
hoge内にあるかと思うのですが、add_hogeをremoveChildすると
「元の子じゃなきゃだめよ〜」と言われます。。
でも、すみません。。
ギブアップです。。
自分でもいろいろとやってみたのですが「どうしても分からない」から
「何がどうなってんのかも分からない感じ」になってきました。。
素直にクラス内にメソッド作ってそっちで消そうかと思います。。。

なんで出来ないのかがどうしても気になるのでまたやってみます。。

拙い説明に対していろいろとご指南していただきまして、本当に
ありがとうございました。
970Now_loading...774KB:2012/10/04(木) 21:05:44.96 ID:k0Q6g7ht
>>969
Flashの超基本的な質問はここでしろ! part42
http://hibari.2ch.net/test/read.cgi/swf/1305783143/
今度は、ここで質問したほうがいいよ。
それと、
分からないとこは、メモしていったほうがいい。
でないとわからないとこが分からなくなるからね
971Now_loading...774KB:2012/10/04(木) 21:08:44.82 ID:BuhP21SN
>>970

ああ!すみません!!
最初はソコとこっちとどっちか迷ったのですが
actionscriptだし。。コッチか・・・・と思いまして・・・

マルチするのもアレだし・・・と思い、コッチでやってしまいました。。
今度は超基本的な方で伺います。。
972Now_loading...774KB:2012/10/04(木) 21:27:40.17 ID:BuhP21SN
>>970

どうしても悔しいからもう一度思いついたことをやってみたら出来ました!!
hogeの中にもう一つpopoというMCを作って
その中に生成するようにしてから
hoge.popo,removeChildAt(1);
で消えました!!
indexの0はpopoの判別用に背景差してたので1にしてやりましたが。。

何故出来たのかはイマイチ、ピンと来てないのですが
ぼんやりと把握できました。。

結果から行くとちゃんと伝え切れてない自分のせいだと思われます。。
長々と書いてるのにその都度アドバイスいただきありがとうございました!
すっきりして寝れます!
973Now_loading...774KB:2012/10/04(木) 21:50:18.91 ID:/zIQ0PEC
>>972
結局、どのインスタンスにaddChildしたかわからなかった、って事だろ。
974Now_loading...774KB:2012/10/04(木) 22:12:45.43 ID:AjSMflXL
>InuはDisplayObjectじゃないからダメよ、的なエラーが出るのです。。

この時点でInuはDisplayObject継承してなかっただろ
してたら指定したDisplayObjectは呼び出し元の〜が出るだろ
975Now_loading...774KB:2012/10/05(金) 21:54:35.93 ID:xKHdjDfv
ココ.addChild()
ココ.removeChild()

の指定を省略したから一致しなかったんだろ。
元のソースで add_hoge.parent をデバッガで見てみろ。


後、リムーブはadd_hogeの参照だけでできる。

if(add_hoge.parent){
add_hoge.parent.removeChild(add_hoge);
}
976Now_loading...774KB:2012/10/06(土) 23:20:03.38 ID:5Zpss8k4
以前as2.0→as3.0へLocalConnectionでBitmapDataを飛ばす方法を聞いた物です。
以下のコードを試しましたが、BitmapData自体は受け取ってるようですが
3.0側での描画が上手くできいません。どうすればいいのでしょうか?

2.0側(import等は省略)
// BitmapData オブジェクトを作成する
var bmp_data:BitmapData = new BitmapData(300, 200, true, 0xFFFFFFFF);

var m:Matrix = new flash.geom.Matrix();
var color:ColorTransform = new flash.geom.ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
var rect:Rectangle = new flash.geom.Rectangle(0, 0, 300, 200);

// _root のグラフィックをキャプチャする
bmp_data.draw(_root,m,color,"normal",rect,true);
_root.attachBitmap(bmp_data,0);
trace(typeof (bmp_data));
onMouseDown = function ()
{
connect = new LocalConnection();
connect.send("send","getCombo",_root.bmp_data);
trace("送った");
};
977Now_loading...774KB:2012/10/06(土) 23:22:00.63 ID:5Zpss8k4
var connect2:LocalConnection = new LocalConnection();
connect2.client = this;
connect2.connect("send");
function getCombo(arr:BitmapData):void
{
trace("AS3: "+typeof(arr));
var bt : Bitmap = new Bitmap(arr);
stage.addChild(bt);
trace("もらった");
}

一応”もらった”が表示はされてるのでデータ自体は送られていると思うのですが・・・
978Now_loading...774KB:2012/10/07(日) 00:26:33.49 ID:6iaqamAF
getPixelとかでほんとにデータが入ってるか見てみるとか
979Now_loading...774KB:2012/10/07(日) 00:37:03.57 ID:7WM84oJe
var bt:Bitmapdata = new Bitmap(arr);
trace(bt.getPixel(0,0));
としたところ、
シーン 1, レイヤー 'レイヤー 1', フレーム 1、行 38 1061: 未定義である可能性のあるメソッド getPixel を、静的型 flash.display:Bitmap の参照を使用して呼び出しました。

だそうです。
arr.getPixel(0,0)だとそもそもlocalconnectionが機能しなくなりました。
980Now_loading...774KB:2012/10/07(日) 00:44:48.04 ID:6iaqamAF
BitmapData型の変数にBitmapをつっこまないでw

getPixelはBitmapDataクラスのメソッドだからarrから呼び出す
arr.getPixel(0,0)の値が取れないなら実際はデータ空の可能性があるんじゃないかと
981Now_loading...774KB:2012/10/07(日) 00:51:12.26 ID:6iaqamAF
っていうか左上はgetPixel(1, 1)っぽい
982Now_loading...774KB:2012/10/07(日) 00:52:59.03 ID:7WM84oJe
>>980
ありがとうございます。
arrで呼び出したらtraceで色々文句言われたので直してみます。
983Now_loading...774KB:2012/10/07(日) 10:03:10.46 ID:toLLVsEm
左上はgetPixel(0, 0)だろ?
>>980よ 980ゲットしたから次スレよろっす
984980:2012/10/07(日) 12:06:04.45 ID:6iaqamAF
>>1の「ActionScript ライブラリ総合」の後継スレってどこだろ 外してもいいかな?
985980:2012/10/08(月) 09:51:37.37 ID:Dp/pYWUS
986Now_loading...774KB:2012/10/08(月) 10:04:53.07 ID:235zk/8x
スレ立て乙乙!

getPixelの人は解決したのかな?
おれもちょうど今ビットマップ関係の事をやってて興味があるw
987Now_loading...774KB:2012/10/09(火) 00:03:37.60 ID:unpUebDZ
>>986
難航してます
詰んだらまた来ます
988Now_loading...774KB:2012/10/09(火) 21:54:52.40 ID:3HMsYmP+
こんにちは。質問させていただきます。

先ほどFlashCS5.5+FlashBuilder4.5.1で制作を始めました。
前にFlashCS5+FlashBuilder4で少しだけやったことがあったので、とりあえずFlashCS5.5のライブラリに一つ画像(png)をD&Dで追加し、
プロパティからActionScript用へ書き出しにチェックを付けました。(基本クラスはBitmapData)
特に機能を追加する必要がなかったのでokで終了。
その際、いつもの警告が出ました。
「このクラスの定義がクラスパス内に見つからなかったため、定義は書き出し時にSWF内に自動生成されます。」
いつも通り無視してBuilderに戻りインスタンス化しようとしました。
こんな感じです・var bmp:Bitmap=new Bitmap(new MyBitmap( 幅, 高さ ) );
そしてctrl+enterでムービープレビュー。一枚ビットマップが描画されました。
(addChild等の部分は省いています)

おぉこれでいけるかなと思った矢先、エラーではないのですがbuilderの
イメージをインスタンス化している行に警告がブレークポイント表示場所に?マークで表示されました。

型が見つからないか、コンパイル時定数ではありません:MyBitmap

マウスを合わすと上記のような警告が…。

確かに定義は埋め込み時に行われるからまだないとは思うのですが、
FlashCS5+FlashBuilder4の時にはこの警告は出なかったです。

一応MyBitmap.asを作れば警告は消えたのですが、
これでは画像分.asが必要になってしまいます。
またブレークポイントの表示場所と被っていて目障りです。

どうにかしたいのですが、どのような対処をしたらいいのでしょうか?
989Now_loading...774KB:2012/10/09(火) 22:22:54.44 ID:ncDfEkPf
swcも書き出してプロジェクトのライブラリパスに追加すればいけそうな気がするかも
990Now_loading...774KB:2012/10/09(火) 23:19:22.99 ID:unpUebDZ
getPixelのアレですが詰みました。2,0側は変更なしです。
3.0側
var connect2:LocalConnection = new LocalConnection();
connect2.client = this;
connect2.connect("send");
function getCombo(arr:BitmapData):void
{
trace("AS3: "+typeof(arr));
trace(arr.getPixel(1,1)); ←これコメントアウトすると一応受け取っている感じ
var bt : Bitmap = new Bitmap(arr);
addChild(bt);
trace(bt);
trace("もらった");
}
↓trace結果
Error #2044: ハンドルされていない AsyncErrorEvent : text=Error #2095: flash.net.LocalConnection はコールバック getCombo を呼び出すことができませんでした。
error=TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
991Now_loading...774KB:2012/10/09(火) 23:29:15.94 ID:unpUebDZ
nullオブジェクトに云々という割にはtraceすると[object bitmap]とか吐き出します
992Now_loading...774KB:2012/10/09(火) 23:41:18.36 ID:3HMsYmP+
>>989

うわぁ綺麗に消えてくれました。
警告を無視して進めていたので一気に消えて気分爽快です。
ありがとうございます。

次の人の為に私がやった事を書いておきます。

・FlashCS5.5のパブリッシュ設定でSWCにチェックを入れパブリッシュ
・SWCが同じフォルダ内に生成されているのをチェック
・FlashBuilderのメニュープロジェクトのプロパティを開く
・ActionScriptビルドパスを選択後、SWCの追加をクリック
・先ほど生成されたSWCを選択してOKボタン
・FlashBuilderからパブリッシュ
・気分爽快で感謝感激そしてSWCって何?

これで気分晴々進められます。
本当にありがとうございました。
993Now_loading...774KB:2012/10/10(水) 00:11:19.16 ID:an/1qAbu
>>989

さんの助言を元にSWCについて検索したので、
一応いろいろ解決ってことで追記しておきます。

・SWCはリソース付きライブラリのようなもの
・FlashCS5.5+FlashBuilder4.5.1じゃなくてFlashCS5.5でSWCを作ってFlashBuilder4.5.1で読み込めば連携しないのでいいので気分が良い(同時に立ち上げてなくていい)
・SWCはスウィックと読むこと

参考URL
ttp://www.adobe.com/jp/devnet/flash/articles/flashpro_and_flashbuilder.html

でした。

別々で作れるのを知ったのは個人的にものすごくプラスです。
既に作り直したいです。(笑)
すごく初歩的な事なのかもしれませんがすごくうれしいです。
ありがとうございました。またよろしくお願いします。
994Now_loading...774KB:2012/10/10(水) 00:34:21.29 ID:SfP60sMR
>>993 どうもです。スウィックっていうのか・・・なんかダサカッコ悪いwww

>>990 コンポーネントリファレンスガイドみたら、原因かはわからないけど
「送信された直列化メッセージが大きすぎる場合 (40 K 以上)」の場合エラーになる的なことが書いてあった。

あとError #2095 localconnectionでググッたら外人がしらべてくれたみたいで、
basic types (Number, String, Array, XML etc 以外はObject型のインスタンスとして扱われて、
もとの型にはキャストできない、しかしそのプロパティには依然としてアクセスできる・・・ みたいなことを言ってる

試してないけどシンプルにBitmapData型の引数で受け取るのは難しそうな気がするし、なおかつ40k以下でければならないかもしれない
995Now_loading...774KB:2012/10/10(水) 00:42:16.08 ID:UeYVAt61
気分が良いわろた
996Now_loading...774KB:2012/10/10(水) 02:06:42.93 ID:54XHRIK+
>>994
どうやら不可能みたいですね。ありがとうございます。
997Now_loading...774KB:2012/10/10(水) 02:18:15.27 ID:SfP60sMR
エンコードしてストリングとして送るとかはありそうだけど、結局サイズ制限はあるし、画像生成のスクリプトのパラメータだけとか
MCのフレーム位置だけとかを送ったりするのが本来っぽい気はする。MCとかの共通データはLoaderで持ってくればダブらないし・・
998Now_loading...774KB
>>994
40Kb以下ってのは驚いたなw ブラクラやスパム的な誤作動対策なんだろか