1 名前:Now_loading...774KB mailto:sage [2011/12/25(日) 02:37:34.48 ID:APghLI2o] AcitonScriptのことなら 初歩的な質問でもなんでもおk 見れない、保存したい、flashを作りたいはスレ違い 下記の関連スレ、超基本的な質問へ。 ●質問する時は自分の環境を書く(AS2,AS3の別も) ●質問はものすごい勢いじゃなくて結構 ●できるだけコードも示す ●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く 前スレ ActionScript 誰かが物凄い勢いで解答するスレ29 toro.2ch.net/test/read.cgi/swf/1309349827/ 関連スレ Flashの超基本的な質問はここでしろ! part42 hibari.2ch.net/test/read.cgi/swf/1305783143/ ※初心者は↑こちら推奨 ActionScript ライブラリ総合 hibari.2ch.net/test/read.cgi/swf/1308658905/
158 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 09:17:57.12 ID:75ziPXDc] >>154 ガベージコレクションでなくその場で即刻解放 というわけにはいかないか もう一つ質問だけど mcとかObjectはdelete使えないってのは知ってるが delete mcとかやってもエラー出ないんだけど、これは特になにも処理されてない ってことでいいのかな
159 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 10:48:17.08 ID:+vchNyJM] >>157 Stageは1個だけだい >3D表示用のstage ってのはDisplayObjectを継承した描画用クラスなら何でも可じゃないかな たぶんpapervision3Dで用意されてる >>158 deleteは参照切るだけ delete mc;実行後に参照するとnullエラーが出る
160 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 11:06:20.93 ID:+vchNyJM] すまん deleteで削除できるのは「動的に定義されたプロパティだけ」だそうだ 実行後に参照するとnullではなくてundefainedが入ってた 普通はインスタンスだろうが固定プロパティだろうがnull入れればおkなんだ deleteは単にMX時代からの遺物だね >その場で即刻解放 しないね
161 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 14:57:39.02 ID:75ziPXDc] >>160 なるほどサンクス deleteでエラー出なくて、null入れるとエラー出るといったんだけど、なんだか MC内で delete thisと入れた場合はエラー出ず 親Sprite上で delete mcとやるとエラーが出る MC内で this=nullとやるとエラー出て 親Sprite上でmc=nullとやるとエラー出ない という感じになった。 わかりそうでよくわからんが、この辺は適当にやるよ。
162 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 18:06:23.85 ID:jwTnhMEo] 上記の現象はMCはダイナミッククラスってのが関係してんじゃね 下記のは自分をnullにはできないってことで 基本的に参照切るならnullを使う 即時削除(明示的なGC)はFPでは基本的にはできない(デバッグプレイヤーなら可、裏技あり) AIRなら出来たかな ただしBitmapDataのみ即時解放ができる
163 名前:142 mailto:sage [2012/01/23(月) 18:57:55.37 ID:kekHgWc7] >>147 >>156 ありがとう。やってみたのですが、どうも「プツ」っという音が入ったりして上手くいかなかったです なので諦めました。ごめん
164 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 20:30:56.57 ID:SA/v59S7] 早期に諦めるというのも一つのテクニックだな。
165 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 21:24:10.40 ID:75ziPXDc] >>162 詳しくサンクス
166 名前:Now_loading...774KB [2012/01/24(火) 00:32:00.89 ID:t+zu2/RW] spriteのrotationXorYorZを変化させると spriteのクオリティが下がってすこしぼやけた感じになってしまうのですが これは仕方がないのでしょうか
167 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 02:31:21.06 ID:VCNBilr4] >>166 それはクオリティが下がってるんじゃなくてベクタからラスタに変換されてるの。 最初から大きいベクタを用意して操作すれば、ある程度は軽減される。
168 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 12:22:35.94 ID:/jTi9mue] >>159 ありがとうございます!3D表示できました。 追加質問なのですが、>>157 の状態で各オブジェクト視点のカメラ設定ってできますか?
169 名前:Now_loading...774KB [2012/01/24(火) 14:03:20.55 ID:JFNBQGyk] CS4(AS3,Player10.0) WinXP extends MovieClip でMC化したCheckBox(チェックボックス)をメインのタイムラインの 2フレ目で出したいのですが下記エラーが出てしまいます。 TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at fl.controls::CheckBox/drawLayout() at fl.controls::LabelButton/draw() at fl.core::UIComponent/callLaterDispatcher() 流れとしては、1フレ目で外部SWFを5秒間実行した後に、2フレ目でフレームアクションに var chBox:MovieClip = new CheckBox_01(パラメーター); addChild(chBox); と書いています。 クラスCheckBox_01の中身を抜粋すると var chBox:CheckBox = new CheckBox(); public function CheckBox_01(引数) { // 引数をパラメーターとして処理 chBox.label = "選択・非選択"; chBox.addEventListener(Event.CHANGE, showData); addChild(chBox);// これを無効化するとエラーは出ませんが・・・ (泣) } private function showData(event:Event):void { // 選択時の処理 } 単純にCheckBoxをステージにaddChildするのとほぼ近い記述なのですがエラーがでます。 どうしたものでしょうか?
170 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:06:47.31 ID:/J1+/BR8] できないと3Dの意味ないだろ オブジェクトの位置と見たい方向をカメラにブッ込めば可能のはず papervision3Dのヘルプ見れ 日本語のがあったはず
171 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:11:33.68 ID:/J1+/BR8] >>169 とりあえずデバッグモードで走らせてエラー出た行番号のコードを確認 変数が複数あるなら「デバッグパネルの変数」のとこ見てnullの変数を確認 なぜnullになるのかわからなかったらもう1回質問してくれ
172 名前:169 mailto:sage [2012/01/24(火) 20:29:22.65 ID:aJ0wywHx] >>171 レス有難うございます。 原因が分かりそうです。 通常、CS4では使用するコンポーネントを一旦ステージに置いてライブラリ化(ライブラリウインドウ内 に表示)して使用するのですが、このライブラリ化したものを一旦削除して再度ライブラリ化するとOK でしてた(つまり更新しました)。 CS4をメインで使っていますが、このところCS5も併用していたので、もしかしたらですがCS5の コンポーネントを何らかの形で(意図せずコピペしたりして)利用していたのが原因かも知れません。 (不適切なfl.controls.ComboBoxを使っていた??)
173 名前:Now_loading...774KB [2012/01/24(火) 23:19:17.67 ID:8KydtSY4] 環境)WinXP,AIR1.5,CS4 特にAIRとかCSシリーズに限定した話ではないのですが、EventDispatcherを継承した クラスをインスタンス化して内部の記述が実行されたことを感知するEventクラスの パブリック定数には何がありますか? つまり、public class Test01 extends EventDispatcher として、このコンストラクタが実行 されたとします。 ここで予めコンストラクタ中に適切なイベント Event.XXYY を考慮して addEventListener(Event.XXYY, doneFunc); を含めておいて、リスナー関数 function doneFunc(evt:Event):void { try { // 処理内容 trace("実行されますた"); removeEventListener(Event.XXYY, doneFunc,); } catch (errorEvt:Error) { trace(errorEvt.message); } } によりEventDispatcherを継承したクラスTest01の実行終了を他のインスタンスに通知したいです。 ※ここで求める処理はXMLを読み込んで解析することです。 試しに、Event.XXYYをEvent.ACTIVATE,Event.COMPLETE にしましたがリスナー関数は実行 されませんでした。
174 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 23:43:28.12 ID:/J1+/BR8] >内部の記述が実行されたことを感知する うーんイマイチ意味がわからんな インスタンスに通知ってどーゆー事だ… フラグ用意してゲッターで他のクラスに渡すってのとは違うのか ていうかそのカスタムイベントはちゃんと動いてるのかい ここ参考にしてみ ttp://feb19.jp/blog/archives/000115.php
175 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:41:09.12 ID:1fL8G1rX] ああもしかして カスタムイベントクラスのコンストラクタの実行時で反応が無いって事かな? dispatchEventはコンストラクタじゃイベントを送信しないぽい カスタムイベントクラス内の何かのメソッドで 条件を満たしたら以下を実行で インスタンス.addEventListener(Event.XXYY, doneFunc);が反応するお dispatchEvent( new Event( Test01.XXYY ) );//イベントをイベントフローに送出
176 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:45:46.22 ID:1fL8G1rX] ああごめん インスタンス側の記述はこうだな var e:Test01 = new Test01(); e.addEventListener( Test01.XXYY, doneFunc );
177 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:04:12.14 ID:n7jyUYkI] AS3で質問。 ●class Super ┗public var num ●class Sub extends Super ●Sprite ┗var sub = new Sub(); とやった時、sub.numと参照できないんだが・・・ Subクラスの中にpublic var n = super.numとかやれば sub.nって感じで参照できるっぽいが、なんか気持ち悪い。 sub.numを使えるようにするにはどうすればいいだろう?
178 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:20:42.76 ID:n7jyUYkI] ああ getterとかもなるべくなら使いたくないんだけど そういうのしか手はないんだろうか
179 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 23:55:30.19 ID:Qe34xAUd] >>177 うーん?普通に出来てるけど public class Superとかpublic class Subにしてみるとか?
180 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 00:11:43.66 ID:uPkFU8/W] 子SWFロード方式において、子SWFをアンロードする時に、参照が残っていると ガーベジコレクションが行われないということは、色々なWEBページを見て理解しましたが、 以下の場合はどうなるのでしょうか? 子SWFが以下だったとします。 public class Child extends MovieClip { var obj:Object; var array:Array; public function Child (){ obj = new Object(); array = new Array(2); } } 子SWFをロードして、以下でアンロードした時に、 子SWFのobjや、arrayはガーベジコレクションの対象になるのでしょうか? 親SWFのアンロード時の処理 loader.unloadAndStop(); removeChild(loader); loader = null; unloadAndStop()を使って子SWFをアンロードする時に、 リスナーを削除する以外に、何をしないといけないのでしょうか? 上記のような、インスタンス変数にオブジェクトを格納している場合も、 明示的にnullをセットしておかないと、子SWFは解放されないのでしょうか?
181 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 02:13:54.69 ID:17ONX9mB] loaderにnullをいれてんのは参照切るためだよ loaderに別のインスタンス入れてももとのオブジェクトの参照は切れるよ
182 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 08:28:54.60 ID:sARG6wIg] >>179 え できるのか・・・ なんか忘れてることがあるのかな 177では省いてたけどclassもpublicにしてるし・・・
183 名前:174 mailto:sage [2012/01/26(木) 16:12:47.63 ID:V23ba8rS] >>174-176 レス有難うございます。 目的の流れは、 EventDispatcherを継承したカスタムクラス(XML.as)でXMLを読み込んで解析 → 「完了しました」の情報を別クラス(AB.as)(インスタンス)に通知 としています。 XML解析はXML.asのコンストラクタ内で終わらせてこれを通知 できれば良いのでコンストラクタ内のaddEventListener(Event.XXYY, doneFunc); には拘っていません。 ※処理完了を示すEvent.XXYYを探していましたので ということで、dispatchEventを使ってご紹介頂いたリンクや ttp://d.hatena.ne.jp/kamip/20091017/1255804628 のコードでとりあえず通知させる 仕組みは出来ました。 色々有難うございました。
184 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 16:27:59.24 ID:1tKvjhIF] >>182 出来ないわけ無いから、最低限のソース全部貼った方が早いと思うが。
185 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 19:00:55.99 ID:Beh08/YE] あの〜、 Stage.scaleMode = "noScale"; でMCサイズが拡大縮小しないようにしてるのですが ブラウザのウィンドウサイズが一定の大きさより小さくなった場合に MCを縮小するってことはできるのでしょうか?
186 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 22:59:27.47 ID:sARG6wIg] >>184 改めて試したんだができるようになってたわ・・・ なんかすまんかった なんで前はエラーでたんだろう・・・
187 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 00:07:51.02 ID:AY8qNyZU] >>181 回答ありがとうございました。 もう一ついいですか? 1.親でaddChild()して子を追加。 2.子でaddChild()して適当な描画オブジェクトを追加。 こういった場合に、親の参照を切れば、メモリリークの心配はないのでしょうか? それとも、親にぶら下がっている全てのオブジェクトを調べて、 全部removeChild()しないとメモリリークになるのでしょうか?
188 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 01:54:36.84 ID:rWDTRw7N] >>187 >>154 で言ったとおり親の参照が表示オブジェクトツリーから切れても他に持たれていたら親が残る よってその子も残る 親が他から参照なければ子も表示オブジェクトツリーからの参照は切れる でも子が他から参照持たれてたら子は残る その場合たぶん子のparentには親が入ったままだから親も残るかもね 質問の答えとしては 親が子の参照を持ち、子が親の参照を持つだけの状態で表示オブジェクトツリー以外の参照がない場合、親をremoveすれば子もGC対象になるよ 他から参照なければね
189 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 02:28:45.25 ID:jzyOmjeZ] >> 188 回答ありがとうございました。 大変勉強になります。 今、作っているコンテンツが、 どうもリークしているようで、 調査に苦戦してます。 回答いただいた内容を参考に、引き続き 調査してみます。
190 名前:Now_loading...774KB [2012/01/27(金) 08:46:59.84 ID:xzIvTLon] FlashProCS5 ver.110を使用(CS4からのアップグレード版) AS自体の質問ではないのですが、CS5のタイムライン記述(フレームスクリプト)での語彙 検索機能(文字列検索機能)で質問です。 CS5のアクションパネル(フレームスクリプトのパネル)に普通にコードを書いて、普通にコード内の 文字列を検索しよいうと思い、パネル上部の検索アイコン(「ターゲットパス挿入」の左隣の虫眼鏡マーク) を押して『置換して検索』ウインドウを出しました。 ここまではCS4以前と変らないのですが、検索文字欄に文字列を入れて『検索』ボタンを押すと 同一タイムライン記述内に他に同じ文字列があるにも関わらず何も検索されず、更には開いていた タイムラインのスクリプト欄も閉じてしまいます。 (質問したらイジけて引き篭ったような状態。 ASファイルだと無問題) MX2004からCS4まで使っていたのですが、こんな酷い検索機能は初めてで悶絶しそうです。 (検索なんて基本機能中の基本なのに・・・) そこで質問です。 Q1) このアホ検索機能はCS5のデフォですか? Q2) CS5でデフォならCS5.5では改善されてますか? すいません、宜しくお願い致します。
191 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:00:49.89 ID:shQ/bgLM] そんな事ねえだろうw うちはCS5.5だが当然無い CS5でも大丈夫だと思う 再インスコしてもダメならAbodeに報告するしかないな
192 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:10:00.92 ID:shQ/bgLM] だいたい超基本的な質問スレが無いのがいかん 次スレ立たないうちから埋めやがってもうアフォかと… というわけで立てといたお ttp://toro.2ch.net/test/read.cgi/swf/1327630120/l50
193 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:23:42.26 ID:SIdMewnp] CS5で試してみたけど普通に検索できたよ。
194 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:27:27.16 ID:2IjPgFvU] 俺もまだCS5だけど、OK
195 名前:190 mailto:sage [2012/01/27(金) 13:59:10.92 ID:xzIvTLon] >>191-194 再インストールしましたけど症状は同じでした。 因みにOSはWindowsXP-Pro(SP3)でメモリー3.3GB,CPU:Core2DuoのE6550です ググりましたが同じような症状の報告が無いので、もうちょっと調べてからAdobeに聞きます。 最悪、CS5.5を入れるかも知れませんが・・・ >>192 スレ立て有難うございます。 超基本的な質問スレが無かったのでここで聞きました。
196 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 21:41:22.45 ID:0iPwdIwk] AS3で数日ハマっているので質問させてください。 やりたいことは親swfから外部の子swfを読み込んで、 その子swfが外部の.pngを読み込む。それを親swfで表示する。 なのですが、,pngが表示されません。 子swfのシーンに乗ってるものは親swfで表示してます。 子単体では正常に表示してます。 もしかして子swfから外部画像を読み込んだものを 親swfで表示するのはそもそもできないのですか?
197 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 23:50:13.67 ID:Sg/LpXuS] >>196 要は子が参照しているPNGを親で見るってこと? ならば、子のPNG変数(URL)を親に渡すってことで、 SWF 親 子 変数 アクセス でググると吉かも。 注意点は、親子SWFが同じAS3なら良いけど、万が一、子がAS2の場合は変数に アクセスできない。 その場合はライブラリ「ForcibleLoader」とかを使う。
198 名前:Now_loading...774KB mailto:sage [2012/01/28(土) 00:04:45.23 ID:BelXmZ6i] >>196 普通に表示できるよ ロードや表示に関するASやflaを晒さないと原因はわからんが どこかで間違ってるか何かを勘違いしてるのだと思う
199 名前:196 mailto:sage [2012/01/29(日) 13:46:14.22 ID:TwlN1FpD] >>197 ,198 レスを参考に試行錯誤してみます。 どうしもだめな場合はダメASを披露しにきますw ありがとうござました。
200 名前:196 mailto:sage [2012/01/29(日) 17:52:14.17 ID:TwlN1FpD] 解消できなかったのでご教授お願いしにきました。>>196 です。 //親swf1フレーム目 var mc:MovieClip = new MovieClip(); var req :URLRequest = new URLRequest("01/01.swf"); var loader:Loader = new Loader(); loader.load(req); loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete ); function onLoadComplete( e:Event ) { mc = loader.content as MovieClip; container.addChild(mc); mc.gotoAndStop(1); } //子swf1フレーム目 var ld:Loader = new Loader(); var url:URLRequest = new URLRequest("pic/01.png"); var context :LoaderContext = new LoaderContext(); context.applicationDomain = ApplicationDomain.currentDomain; ld.load(url,context); ld.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete ); function onLoadComplete( e:Event ) { addChild(ld); } //子swf2フレーム目(以降02.pngの部分が3フレーム目は03とフレームと同番) url = new URLRequest("pic/02.png"); ld = new Loader(); context.applicationDomain = ApplicationDomain.currentDomain; ld.load(url,context); ld.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError); 環境:FLASHCS5.5 Win7 AS3.0 ディレクトリ階層:ルートフォルダ内に親swfと01フォルダ、 01フォルダ内に子swfの01.swfとpicフォルダ、picフォルダ内に01.png〜
201 名前:196 mailto:sage [2012/01/29(日) 17:58:22.60 ID:TwlN1FpD] 200に追記 container.addChild(mc);のcontainer定義はここの投稿時に 行数警告でその行を削除しましたが、 var container:Sprite = new Sprite(); addChilde(container); と記述してあります。
202 名前:Now_loading...774KB mailto:sage [2012/01/29(日) 18:29:03.04 ID:A9bbXgrx] そのコード試そうかと思ったがメンドイので止めたw そもそも何でそんなヘンテコな構造なんだ DisplayObjectContainer使って コンテナ用意してその中に pic01, pic02 …とSpriteかMovieClipのインスタンスを追加していき そのインスタンス内にロードして表示、非表示等の操作をすれば楽だし改造し易いお >var req :URLRequest = new URLRequest("01/01.swf"); フォルダ名って数字のみでおkだったっけ? ↑
203 名前:196 mailto:sage [2012/01/29(日) 21:38:15.40 ID:TwlN1FpD] >>202 ディレクトリの数字のみの件は、子swfのシーンは表示しているのでリンクはOKなようです。 ためしに01からobjとフォルダ名を変えてみましたが結果は同じでした。 外部に画像を出しておくのが仕様で、子swfを頭から連続再生させたり途中から再生させた かったので各フレームに読み込んで後は親が子swfをプレイすればよいかと考えたのですが 構造をかえてみます。ありがとうございました。
204 名前:Now_loading...774KB mailto:sage [2012/01/29(日) 22:28:24.19 ID:A9bbXgrx] >頭から連続再生 ってまさかアニメ? それならアニメ詰まったのを1個読み込むのが普通だろ なんで画像を1枚づつ読み込むんだ まあ…がんがれ
205 名前:Now_loading...774KB [2012/01/30(月) 21:29:37.73 ID:lCMdSn8T] 質問失礼します。 Adobe Flash Professional CS5 で開発をしているのですが、 traceで出力パネルに出力した文章をコピー&ペーストして.txtとして保存すると テキストの形式がShift-JISで保存されます。 そこで、出力パネルに出力される文字コードをUTF-8にしたいのですが、 traceで出力する際に文字コードの指定などはできないでしょうか?
206 名前:Now_loading...774KB mailto:sage [2012/01/30(月) 23:35:37.41 ID:InGhw/bk] >>205 保存するときにUTF-8にすればいいんじゃない?
207 名前:Now_loading...774KB mailto:sage [2012/01/31(火) 14:19:57.17 ID:yM7uuYbI] >>205 テキスト貼付けるエディタのデフォの設定がShift-JISなんだろ? エディタを何とかしろ
208 名前:Now_loading...774KB [2012/01/31(火) 16:52:45.97 ID:2xuTHBYb] スレ違いだったら申し訳ありませんが、質問です。 ActionScriptにはJAVAのヒープ領域のようなメモリ領域はあるのでしょうか? あるなら、どのくらいのサイズが確保されるものなのでしょうか?
209 名前:Now_loading...774KB mailto:sage [2012/01/31(火) 19:06:08.06 ID:biaD4WdC] help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/system/System.html このへんかな。当たり前だけど処理系ごとに変わるけどね。
210 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 08:10:32.93 ID:TjsnZczT] Chrome以外で自分のSwf見ると挙動がおかしい・・・ Operaだとクリックした時にしかマウスポインタが手に変化しないし、 IEだとFLASHのバナーしか表示されないし・・・ このへん詳しいこと書いてるサイトとかないかな?
211 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 09:44:02.58 ID:ewFRfMTf] FlashはIE基準じゃなかったかな ちょっと前はクロームでキーボード入力受け付けないとかあったけど… IEで挙動がおかしいのは直さないとダメだな ちなみにIEのバージョンとかは? SafariはAppleなのでFlashの挙動が変なのは諦めるしかない
212 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 14:24:53.02 ID:TjsnZczT] Chromeはキーボードも受け付けてるし一番問題ないな IEバージョンは9だったけど、スクリプトだけ色々いじってたらとりあえずIEは表示されるようになったよ・・・原因わからない Safariは持ってないし確認しようないから置いておいてる せめてOperaのボタンのカーソルくらいは直したい・・・ 今はSprite継承の自作クラスの中でthis.buttonMode=trueでやってるけど、これが原因だろうか あとついでに質問だけど、今の状態だとFLASHをドラッグしてしまえるんだけど(テキストドラッグしたみたいに青くなる) これをドラッグさせないようにするのはHTMLとかjavascriptの範疇?
213 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 14:48:17.42 ID:ewFRfMTf] 実際のインスタンス(のターゲット変数).buttonMode=true;にしてる? ドラッグして青くなって選択状態になるのはしょうがないお
214 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 15:00:50.68 ID:TjsnZczT] してない、が外から内からもbuttonMode=trueとしてみたけど変化なかった。 問題のSpriteは MySpriteA ←this.buttonMode=true ┗継承━MySpriteB ┣mc1(適当な絵描いてるMC) ┣mc2(〃) みたいにやってる。 SpriteAがボタンの機能持ってて SpriteBは、例えばmc1がaddChildされてる時に、mc2を表示したくなったら 関数呼び出すとmc1をremoveしてmc2をaddする、みたいにできてる。
215 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 16:40:09.87 ID:ewFRfMTf] mc1をaddChildする時に mc1.buttonMode=true; mc2をaddChildする時に mc2.buttonMode=true; これでだめならもうわからん Operaの方が対応してないぽい
216 名前:Now_loading...774KB [2012/02/02(木) 20:13:16.06 ID:4HNnzc9t] AS3というかASの基本的な質問です。 ある配列 arr0 に別の配列 arr1 を丸ごと追加するにはどうしたら良いでしょうか? arr0.push(arr1) だと arr1 が可変長引数扱いされて arr0 の長さが1個しか増加しません。 ググりましたが、要素単位で追加する説明はありましたが丸ごと追加の説明は 見つかりませんでした。
217 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 20:34:10.59 ID:eJFDLw3v] help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/Array.html#concat () それは圧倒的にググりが足りないな リファレンスくらいはお気に入りにいれときなさい
218 名前:216 mailto:sage [2012/02/02(木) 21:17:57.35 ID:RCR9XpAS] >>217 早速さんきゅう。 でも、できません。 trace("Arr0= "+Arr0.length);// 30 Arr0.concat(Arr1);// 配列の追加 10個 trace(" Arr0= "+Arr0.length);// 30 長さが変化しないのですが・・・
219 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 21:19:38.74 ID:eJFDLw3v] >>218 リファレンスを読み直しましょう ちゃんと例のとおりにつかっていますか?
220 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 21:54:28.42 ID:TjsnZczT] >>215 ちょっとやってみるわ
221 名前:216 mailto:sage [2012/02/02(木) 21:56:11.78 ID:KAFsu2jP] >>219 すいません。。。 左辺が必要でしたね。
222 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 22:37:59.10 ID:eJFDLw3v] >>221 そうそう。そういうパターン実はいくつかあるから注意だね 逆にそういうパターンにしてほしいのに複製作られずにいじられちゃったりするパターンもあったり
223 名前:Now_loading...774KB [2012/02/03(金) 06:20:56.65 ID:i7tdhhgt] TextAreaへのTextFormatによる特定区間の文字の色付け(青色)で困っています。 AS3,AIR1.5,WinXP(FlashCS4) TextArea(tArea)内の文字列を var str0:String = tArea.text; テキストフィールドを var tFd:TextField = tArea.textField; として var tfm:TextFormat = new TextFormat(); tfm.color = 0x0000FF; tFd.setTextFormat(tfm, po0, po0+6);// フォーマットの適用 po0は任意の位置 としても何も変化がなく、po0を変数とせずに tFd.setTextFormat(tfm, 5, 11); としても 同じでした。 テキストフィールドはtFdで参照が取れているのですが色が変りません。 TextAreaのテキストフォーマットは tArea.setStyle("textFormat", tfm) とかで 出来ますが、これだと全文が青色になってしまいます。 どうすべきでしょうか?
224 名前:223 mailto:sage [2012/02/03(金) 06:26:57.42 ID:i7tdhhgt] (上の追記) tFd.getTextFormat(5, 11)で調べると確かに [object TextFormat] と出て、 テキストフォーマットが設定されてはいるようですが・・・
225 名前:Now_loading...774KB mailto:sage [2012/02/03(金) 07:21:02.10 ID:LZoKz3+2] とりあえずこれは抑えてあるよね flabaka.com/blog/?p=535 TextAreaでなく最初からTextField使う場合は意図したとおりに適用されてる?
226 名前:220 mailto:sage [2012/02/03(金) 09:50:16.05 ID:0qxNACgm] >>215 やってみたんだができなかった・・・ 普通のムービークリップ.buttonMode=trueもやってみたけど、 Operaだとクリックして動かさない間しかマウス変化しない・・・ それでFlashProでテスト用のSWF作ってみたが、こっちではちゃんとできてた。 FlashBuilderで作ったのが悪いんだろうか・・・
227 名前:223 mailto:sage [2012/02/03(金) 13:46:33.71 ID:81rqqVrX] >>225 どうも。 TextFieldに文字列を流し込んだ後にsetTextFormatを使用してます。 ちなみに、TextAreaでは文字列が内部に存在しなくても var tArea_tfm:TextFormat = new TextFormat(); tArea.setStyle("textFormat", tArea_tfm); で文字サイズなどの変更が可能です。 またvar tFd:TextField = tArea.textField;として tFd.setTextFormat(tfm, 5, 11); で trace(tFd.getTextFormat(5, 11).color); で文字RGB色を取得すると、ちゃんと青の255が出ます。 つまり、テキストフォーマットは設定されているものの、反映されない状態です。 というか、 「TextAreaでなく最初からTextField使う場合は意図したとおりに適用されてる?」 をもう少し詳しく解説願います。
228 名前:Now_loading...774KB mailto:sage [2012/02/03(金) 13:54:22.72 ID:LZoKz3+2] TxtArea(コンポーネント?)を使わずに単にTextFieldを表示させてる時に意図した通りの見た目になってるか、だよ 問題がTextAreaなのかTextFieldなのか切り分けるの
229 名前:223&227 mailto:sage [2012/02/03(金) 15:43:48.90 ID:81rqqVrX] >>228 さんくす。 TextFieldのみを使った場合、上手くいきました。 TxtAreaは文字単位の色付けといった 細かいことには不向きなのかも知れません。
230 名前:Now_loading...774KB [2012/02/03(金) 21:30:52.09 ID:mFRFMtJq] 初心者すぎる質問です。すいません。 最初にステージに50個インスタンスを配置して Aボタンを押すと ステージにおいてある50個のインスタンスを全て非表示にして、 その中の1だけ表示(表示したいインスタンスをaとする)、 Bボタンを押すと同じように ステージにおいてある50個のインスタンスを全て非表示にして、 その中の1だけ表示(表示したいインスタンスをbとする) Cボタンを押すと‥‥というような スプリクトを作りたいのですがうまくいきません。 50個のインスタンスをまとめてシンボル化して、 まとめたインスタンスを非表示にして、その中の子インスタンスを1つだけ表示しよう としてもダメでした。 adobe FLASH CS5.5を使用しています。
231 名前:Now_loading...774KB mailto:sage [2012/02/03(金) 22:01:58.40 ID:TRSwm7Wa] >>230 50個のインスタンスを配列(Arr)の要素に格納して for each (var element:Object in Arr) { element.visible = false;// 一旦全部非表示に } Arr[n].visible = true;// 1個だけ表示 でもダメってこと? これならAS2でも動く筈。
232 名前:230 [2012/02/04(土) 00:36:03.84 ID:on1pbUkS] まだまだ勉強不足でArrすらわかりません…。 ネットで調べてみたけど難しい。勉強せねば。 例えばインスタンス名がそれぞれA.B.Cという3つのムービークリップを作った場合、どう要素を格納して、どう表示 非表示の記述をすればいいですか? アクションスプリクト3.0を使用しています。 ちなみに最終的にはムービークリップが300個くらい(swfに書き出すと約180kb)になるのですが、ホームページにのせた場合重くなるのか心配です。スクリプトは前述のような動作です。
233 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 01:30:11.73 ID:KoYGdfo6] >>232 簡単なサンプルが多く載ってる本を2,3冊買って色々イジりながら試すのが近道。 今回の例では var arr:Array = new Array();// 配列の宣言 arr.push(A);// 配列に格納 arr.push(B); arr.push(C); for each (var element:Object in arr) { element.visible = false;// 一旦全部非表示に } arr[1].visible = true;// 0〜2の1だけ表示 SWFのサイズと重さはあまり関係無いよ。 あくまでもアルゴリズム次第。 同年代の古時計でもメンテナンスや内部機構によって滑らかに動くかどうかが変るのと 同様のこと。 なお、AS3ならメモリー使用量は下記で簡単に参照できる。 var mem:uint = System.totalMemory; 先ずは、変数と型の関係を理解しませう。
234 名前:Now_loading...774KB [2012/02/04(土) 12:07:04.30 ID:XPBxIAgs] AS3,CS4でAIR1.5かPlayer10.0 クラス内のメンバ変数一覧を取得する方法を探しています。 Javaの似たような質問例としては、ttp://oshiete.goo.ne.jp/qa/6017031.html がありますが、 メンバ変数を配列で格納し、文字列出力でずらっと見たいです。 Javaでは「リフレクションAPI」なるものが存在していますが(下記)、ググりましたがAS3には 無い様です。 ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7824&forum=12
235 名前:Now_loading...774KB [2012/02/04(土) 14:08:20.86 ID:xlKx4hNr] >>233 ありがとうございます! 本を買っていろいろ勉強してみるつもりです。 ちなみに、ボタンの上にムービークリップやテキストがある場合 下のボタンを触れるように出来るのでしょうか? それとvar mem:uint = System.totalMemory; の使い方よく分かりません…。
236 名前:233 mailto:sage [2012/02/04(土) 14:31:10.25 ID:TQq7Q4sJ] >>235 ボタンの上にムービークリップやテキストがある場合 → 自分で試した範囲だと無理。 ボタン操作したい場合は、swapChildren(A, B)で入れ替える。 totalMemoryの一番簡単な使用例(フレームアクション記述) // 適当にボタン(btn)を作る var mem:uint;// 宣言 btn.buttonMode = true; btn.addEventListener(MouseEvent.CLICK, onClick); function onClick(evt:MouseEvent) { mem = System.totalMemory; trace("使用メモリ= "+mem); } 参考: ttp://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/system/System.html#totalMemory
237 名前:Now_loading...774KB [2012/02/04(土) 15:29:22.28 ID:on1pbUkS] >>236 試しに今作っているFLASHのボタンの1つに totalMemoryを記述してみました、クリックするとムービークリップを表示するボタンです。 出力に49049600と出ました。ちなみにそれを非表示にするボタンは51654656でした。 単位はバイト?これはどのくらいを意味している? 表示中でも表示するボタンを押すとメモリーがかかる、 それと非表示ボタンのほうがメモリーが高い、頭の中が混乱してきました…。
238 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 15:37:22.13 ID:2FY7XTQz] 表示時は表示インスタンスがグラフィックRAMに記憶され 非表示時は全部(のデータ)が通常メモリに記憶だからじゃね?
239 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 16:32:48.98 ID:sCENL8qA] そもそもGCあんだから瞬間的なメモリみても意味が無い 気にすんな
240 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 17:46:22.24 ID:fXuACLII] >>236 上にテキストやMCがあっても、それらのmouseEnabldがfalseであれば 下のボタンを操作できるよ
241 名前:Now_loading...774KB mailto:sage [2012/02/04(土) 18:48:52.87 ID:yUwZ/lYS] >>237 単位はバイト?これはどのくらいを意味している? 参考リンク嫁 >>239 デバッグ版プレーヤーなら gc()があるけど、GCって(基本)気まぐれなんでしょ? しかもオブジェクトが無参照になってnullにならないとダメとか。
242 名前:Now_loading...774KB [2012/02/04(土) 18:54:17.28 ID:on1pbUkS] >>240 mouseEnabldやってみたらできました! 233さんで教わったばっかりの配列(Arr)も使用してみると var arr:Array=new Array(); arr.push(a); arr.push(b); for each(var element:Object in arr){ element.mouseEnabled = false; element.mouseChildren = false; } みたいなこともできるのですね!
243 名前:Now_loading...774KB mailto:sage [2012/02/05(日) 04:42:50.58 ID:MzMOl7lj] AS1.0の質問です Stage.scaleMode = "showAll"; createEmptyMovieClip("stage_mask",12345); with(stage_mask){ lineStyle(); beginFill(0,100); moveTo(0,0); lineTo(Stage.width,0); lineTo(Stage.width,Stage.height); lineTo(0,Stage.height); lineTo(0,0); endFill(); } _root.setMask(stage_mask); 上のソースはFlashの外側(はみだし部分)を隠すスクリプトなんですが 他のMCや画像はマスクで隠しつつ一部のMCだけ隠さずに表示することはできますか? 隠したくないMCの深度をstage_maskの深度12345より大きくしてみたんですがダメでした
244 名前:Now_loading...774KB mailto:sage [2012/02/05(日) 11:45:17.51 ID:q4VvPX4X] _rootにマスクするのやめたら?
245 名前:Now_loading...774KB mailto:sage [2012/02/06(月) 11:11:35.69 ID:WvTafXft] >>244 できました! ありがとうございます
246 名前:Now_loading...774KB mailto:sage [2012/02/07(火) 00:55:39.75 ID:R12olOWB] CS5を使っております。 タイムライン上に画像や適当なコンポーネントを配置した SWFをChild.swfとします。 Child.swfを適当な親SWFからロード→アンロードしたとき、 アンロード時には、タイムライン上の画像等は勝手に解放されるのでしょうか? それとも、何か後処理しないとメモリリークになってしまうのでしょうか?
247 名前:Now_loading...774KB mailto:sage [2012/02/07(火) 04:24:45.06 ID:5GJD0ZSB] >>246 Playerのバージョンによるけど、LoaderをaddChildして子SWFとしたとして、 ・Loaderのイベントリスナーはremoveする ・Loaderはnullに 基本、無参照は無関心扱いされてGCされ易くなる。 ※FlashPlayer11では新GC機能あり 地味すぎて伝わらないFlash Player 11の新機能 ttp://adclounge.jp/adobe-max-2011/new-small-features-in-flash-player-11/
248 名前:Now_loading...774KB mailto:sage [2012/02/07(火) 23:54:10.02 ID:j8nkoxb4] >>247 回答ありがとうございました。 ・Loaderのリスナーは弱参照で登録して使ってました。 →明示的にremoveするように変更しました。 ・Loaderはnullに出来てました。 上記をやっとけば、とりあえず問題ないってことですね。 ありがとうございました。
249 名前:Now_loading...774KB mailto:sage [2012/02/08(水) 05:55:35.21 ID:NeEN90Ai] >>248 そうそう。弱参照ね。 ちなみにPapervision3Dには、不要になった3Dオブジェクトを削除するために オブジェクト.material.destroy(); というのがある。
250 名前:Now_loading...774KB mailto:sage [2012/02/09(木) 18:51:51.58 ID:R+rqbmsZ] すいません デバッグができなくて困っています。Flashdevelop4.0.1、AS3プロジェクトです リリースで実行するとFlashplayerが表示され実行されるのですが、 デバッグで実行するとFlashplayer自体は表示されるのですが、実行されず ステータスバーに「Flashplayerを待ってデバッガーに接続します」と表示されます 原因を調べると、特定の自作クラスを参照すると駄目なようで static const な定数を参照するだけでデバッグできなくなります なにかデバッグできなくなる原因の記述があると思うのですが その自作クラスは基幹の大きいクラスのため「1か所消してコンパイル」を繰り返して特定するのはかなり時間がかかりそうなのです ので、何か手がかりを知っている方が居たら教えてください よろしくお願いします
251 名前:Now_loading...774KB [2012/02/09(木) 18:52:17.71 ID:R+rqbmsZ] age忘れました
252 名前:Now_loading...774KB [2012/02/10(金) 12:19:45.22 ID:NiE7UKI7] flash CS5 win7 です 今Asを勉強しているのですが function onMoveStart(event:MouseEvent):void { clickY = event.stageY - McName.y; } というコードを外部クラスで動作させる場合に、 eventが定義されませんと、エラーが出ます。 ぜひお教えくださいよろしくお願いいたします。
253 名前:Now_loading...774KB mailto:sage [2012/02/10(金) 14:40:43.16 ID:AfUv8uUH] importしましょう こちらへどうぞ Flashの超基本的な質問はここでしろ! part43 toro.2ch.net/test/read.cgi/swf/1327630120/
254 名前:Now_loading...774KB mailto:sage [2012/02/10(金) 15:10:18.19 ID:MiPu/7Cc] >>250 デバッグはFlash CS5とかなり違うんだろか デバッグ時の画面、挙動がどういう状態なのか少しわからないと答えるのむずいお
255 名前:226 mailto:sage [2012/02/10(金) 19:30:56.22 ID:jEUJ5txX] 今更だけど規制解けたので どうもFLASHのウィンドウ設定を透明に設定すると、今回のようなバグがでた 調べたら透明の時はなんか微妙に色々起きるらしいな 気づくの時間かかった
256 名前:250 mailto:sage [2012/02/11(土) 01:38:15.67 ID:fz4rwvJH] >>254 レスありです。CSとの違いは分からないです 挙動というか、とにかくFlashPlayerが表示されるだけで何も実行されません 今、古いSDKを使ったら一応デバッグできたので急な要件ではないのですが 何か知っている方がいらっしゃったらよろしくお願いします
257 名前:Now_loading...774KB mailto:sage [2012/02/11(土) 17:33:52.18 ID:JttzamSG] AIRの質問なんだけど大丈夫だろうか? this.stage.nativeWindow; ↑このNativeWindowってやつに困ってる。 SWF書きだした時にnullだったり中身入ってたりと、ばらつきがある。 100%nullじゃないようにしたい場合はどうすればいいんだろう。 nullが出た時は、そのあといくら待ってもnullなのでイベントリスナーも意味ないし。 分かる人いればレスお願いします。
258 名前:Now_loading...774KB mailto:sage [2012/02/12(日) 11:02:24.89 ID:AYUdcfOs] >>257