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/
129 名前:Now_loading...774KB [2012/01/19(木) 21:11:51.40 ID:QOnzQ8HN] AS3,XP,AIR2.0 MC(mc0)内部のLoader(loaderObj)にSWF(タイムラインの単純ムービー)を読み込んで表示 させていますが、この再生を停止・再開する方法が分かりません。 ※SparkプロジェクトのForcibleLoaderを使ってPlayer8以前のSWFも読み込めるようにしています。 var mc0:MovieClip = 対象オブジェクト as MovieClip; でキャストして出来たmc0でPlayer8 以前のSWFでは trace(mc0.loaderObj.content)は [object AVM1Movie] と表示されswf本体に アクセスできるのですが、mc0.loaderObj.content.stop() はエラーになります(下記) Player8以前のSWFでは Error #1069: Property stop not found on flash.display.AVM1Movie and there is no default value. Player9以降(AS3)のSWFでは Error #1009: Cannot access a property or method of a null object reference. どうしたものでしょうか?
130 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 21:53:03.26 ID:uX+s1HDW] テキトーなレスで申し訳ないが var mc0:MovieClip = 対象オブジェクト.content as MovieClip; mc0.stop(); でもだめ?
131 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 23:46:26.59 ID:+5+GyZ+w] >>130 レス有難うございます。 「対象オブジェクト,対象オブジェクト.content」はtraceすると、[object Loader], [object AVM1Movie] となって間違いは無いようですが、as MovieClipするとnullになってしまいます。 ※AVM1Movie型を持っているが、キャストするとnullになる。
132 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 00:12:06.95 ID:qUxySH46] だただらと長かったプログラムを for文使ってすっきりさせてパブリッシュ 出来上がったファイルは元より容量が増えていた そんなもんなのだろうか
133 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 01:00:30.76 ID:ro6eMvMY] >>132 よくあるな モバイルFlashの時はそれで困ってたわ
134 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 01:22:55.90 ID:LTDCjMYr] >>129 ここみれ ttp://mogmet.blog20.fc2.com/blog-entry-11.html private function swfComplete(event:Event):void{ this.mc = event.currentTarget.content as MovieClip;//←これで変換されるっぽい trace( this.mc ); }
135 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 02:02:11.83 ID:ayL74Alu] >>131 自分の環境では、>>130 の方法で動作している キャストするタイミングが違うとかでないなら、そちら固有の問題 (たとえば、ForcibleLoaderなど)に原因があるのだと思う
136 名前:129&131 mailto:sage [2012/01/20(金) 08:49:58.91 ID:pWZx6SRu] >>134-135 レスさんきゅう。 対象オブジェクト.content as MovieClip; はやっぱりnullです。 しかし更に検証する、となんと実はForcibleLoaderは適用されていなくて(!)、 実際に使うと SecurityError: Error #3015 が発生し、 Loader.loadBytes() is not permitted to load content with executable code. at flash.display::Loader/_loadBytes() が出ます。 う〜ん分からん。
137 名前:129&131&136 mailto:sage [2012/01/20(金) 09:57:16.55 ID:pWZx6SRu] (自己レス) セキュリティエラーに関しては ttp://d.hatena.ne.jp/ichiro_j/20081120 を元に ForcibleLoaderのASを修正し回避できました。 しかしやっぱり 対象オブジェクト.content as MovieClip; はnullです。 一応、他の機能は実現しているのでこのまま進めます。
138 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 11:16:20.09 ID:LTDCjMYr] いよお ウチでもForcibleLoader使って試してみた これは元々libsparkさんトコのじゃねーか 勝手にパッケージ簡略化してはいかんw(参照先のやつ) ウチでは問題なくMX時代のクソ古いSWFをMovieClipに変換できて stop() gotoAndStop() で制御できたお 同じようにAirでセキュリティエラーが出てその記事の修正当てたら直った ウチの環境はCS5.5 AS3 通常パブリッシュはFlash Player10.2 AirはAIR2.6だ まずは無改造でそこのURL>>134 のサンプル通りにやってみ 出来ないなら…もうわからんw
139 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 00:50:21.81 ID:5z1wOgRR] >>133 やっぱりあるんだ、やる気なくすなぁ forじゃなくてwhileとかを使った方がいいのかな
140 名前:Now_loading...774KB [2012/01/21(土) 01:27:39.90 ID:RDkx9xL3] 環境:AS3,CS4,AIR1.5 凄く単純なところでつまづいています。 dataTというテキストフィールド内の文字列全部をマウスイベントでのsetSelectionで 選択状態にしたいのですが何も選択されません。 private function _onClick(e:MouseEvent) { trace("長さ= "+dataT.length); dataT.setSelection(0, dataT.length); } traceはちゃんと文字列長を示すので、これで上手くイクはずなのですが・・・ 文字列は優に30個を越えているので試験的にdataT.setSelection(0, 30); としても 何も選択されないという不思議な症状です。 明示的にdataT.selectable = true; にしてもダメでした。 このような経験はありますか?
141 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 09:04:08.50 ID:N6chXOoX] >>139 ループ系は容量増えやすいからあまり変わらないと思う
142 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 09:56:49.31 ID:N+CnCGA4] AS3です MP3の音楽の再生を任意の位置で停止して、その停止した時の音を鳴らし続けたいのですが 方法を知ってたら教えてください。よろしくお願いします
143 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 14:22:21.09 ID:z+03vdra] paraflaで使える文字のサイズが小さくても読みやすいフォントってありますか? アンチエイリアスがかからないデバイスフォントがドンピシャなんですけど 環境によって使われるフォントが変わる(=デザインが崩れる)と聞いたので・・・ ビットマップフォントって使えないですよね?
144 名前:143 mailto:sage [2012/01/21(土) 14:22:38.47 ID:z+03vdra] すみません誤爆しました
145 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 15:13:47.79 ID:ut2CQ6AY] >>142 > その停止した時の音 この部分の意味と、実際に出来ることをもっと具体的に。 実際は、停止した時点で音はないと思うので おそらくは、停止した瞬間から、そのちょっと前までという短い間の音楽を ループさせたいということではないかと推測するのだが、どうだろうか?
146 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 17:58:26.91 ID:pk2B3+WL] >>145 レスありがとう。その通りです 具体的に言うと、「あいうえお」という曲があって「う」の時に停止したらずっと「うーーーー」と音が出て欲しいです 今、音を止めた時のpositionから1フレームだけの再生をループさせてみたのですが うぇうぇうぇうぇ、という感じになってしまって出来なかったです
147 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 11:17:23.05 ID:ikXf6l8r] >>142 おもいつきだけどフレームレートを変えてみたらどうでしょうか。
148 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 14:42:31.96 ID:sW95RgOE] actionscript 2.0を使用しています。 test=Array["mc_1","mc_2","mc_3"]; ↑このような配列があります。 配列の中に納めたムービークリップ名を抜き出して、 使いたいと考えています。 //現在作成中のサンプル test[1].onRelease = function() { trace("test"); } ↑このままでは、何も反応が起こらない状態です。 どのような記述を行えば良いでしょうか?
149 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 15:12:49.39 ID:6eiFF332] >>148 配列アクセス演算子
150 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 17:03:32.16 ID:LvqEXknq] おすすめの無料効果音素材サイトはありますか? 欲しいのは コントでスリッパで「スパン!」とぶん殴る効果音 (みなさまのおかげですでチェッカーズの歌歌って殴るあの音) とか
151 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 17:25:51.20 ID:sW95RgOE] >>149 解決しました!ありがとうございます。 Flash板は5年生の先輩から教えてもらったんですが、 こんな物知りなFlash使いの人達がいる掲示板があったのは初めて知りました。 今後も利用させていただきます。 ありがとうございました!
152 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 22:36:59.79 ID:HUhtOMON] 配列アクセス演算子って何回回答したかね。 まあググれるワードじゃないから仕方ない
153 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 23:03:44.85 ID:nFAGLJEL] AS3でちょっとした疑問なんだけど 親Sprite ┣MovieClip ┣Sprite ┣・・・ こういうかんじでオブジェクトをaddChildしてる時、 親Spriteだけremoveしちゃえば、子オブジェクトは全部解放されるの? それとも子オブジェクトそれぞれremoveしないと解放されない?
154 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 00:26:48.67 ID:jwTnhMEo] 解放というのがガベージコレクションという意味ならどちらも表示リスト外れようが他に参照持たれてたらされない 他に参照持たれてなければ親がremoveChildされた時点で子もGC対象になる
155 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 00:50:43.42 ID:SA/v59S7] >>150 出来れば俺がお前の頭を
156 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 04:06:54.92 ID:R9zntuVO] >>142 簡単なやり方だと、1つMovieClip作ってその中に、サウンドをストリーミング配置して、切りたい音のポイントごとにラベルで切るのとフラグ用に変数立てて、サウンド停止時に flag=true;みたいにする んで切ったラベルの最後に if(flag)this.gotoAndPlay(“う“); みたいにすればいけると思う
157 名前:Now_loading...774KB [2012/01/23(月) 08:38:48.65 ID:F9CY73VL] 一つのアプリケーション内で複数のstageを持つことってできますか? stage上x-y平面で動かしたオブジェクトの座標を取得して そのオブジェクトの動作を3D表示できるようにしたいです。 3Dライブラリとしてpapervision3Dを利用しようと思っていますが、 3D表示用のstageを確保しなければならないのではと思い上記の質問しました。
158 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 09:17:57.12 ID:75ziPXDc] >>154 ガベージコレクションでなくその場で即刻解放 というわけにはいかないか もう一つ質問だけど mcとかObjectはdelete使えないってのは知ってるが delete mcとかやってもエラー出ないんだけど、これは特になにも処理されてない ってことでいいのかな
159 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 10:48:17.08 ID:+vchNyJM] >>157 Stageは1個だけだい >3D表示用のstage ってのはDisplayObjectを継承した描画用クラスなら何でも可じゃないかな たぶんpapervision3Dで用意されてる >>158 deleteは参照切るだけ delete mc;実行後に参照するとnullエラーが出る
160 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 11:06:20.93 ID:+vchNyJM] すまん deleteで削除できるのは「動的に定義されたプロパティだけ」だそうだ 実行後に参照するとnullではなくてundefainedが入ってた 普通はインスタンスだろうが固定プロパティだろうがnull入れればおkなんだ deleteは単にMX時代からの遺物だね >その場で即刻解放 しないね
161 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 14:57:39.02 ID:75ziPXDc] >>160 なるほどサンクス deleteでエラー出なくて、null入れるとエラー出るといったんだけど、なんだか MC内で delete thisと入れた場合はエラー出ず 親Sprite上で delete mcとやるとエラーが出る MC内で this=nullとやるとエラー出て 親Sprite上でmc=nullとやるとエラー出ない という感じになった。 わかりそうでよくわからんが、この辺は適当にやるよ。
162 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 18:06:23.85 ID:jwTnhMEo] 上記の現象はMCはダイナミッククラスってのが関係してんじゃね 下記のは自分をnullにはできないってことで 基本的に参照切るならnullを使う 即時削除(明示的なGC)はFPでは基本的にはできない(デバッグプレイヤーなら可、裏技あり) AIRなら出来たかな ただしBitmapDataのみ即時解放ができる
163 名前:142 mailto:sage [2012/01/23(月) 18:57:55.37 ID:kekHgWc7] >>147 >>156 ありがとう。やってみたのですが、どうも「プツ」っという音が入ったりして上手くいかなかったです なので諦めました。ごめん
164 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 20:30:56.57 ID:SA/v59S7] 早期に諦めるというのも一つのテクニックだな。
165 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 21:24:10.40 ID:75ziPXDc] >>162 詳しくサンクス
166 名前:Now_loading...774KB [2012/01/24(火) 00:32:00.89 ID:t+zu2/RW] spriteのrotationXorYorZを変化させると spriteのクオリティが下がってすこしぼやけた感じになってしまうのですが これは仕方がないのでしょうか
167 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 02:31:21.06 ID:VCNBilr4] >>166 それはクオリティが下がってるんじゃなくてベクタからラスタに変換されてるの。 最初から大きいベクタを用意して操作すれば、ある程度は軽減される。
168 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 12:22:35.94 ID:/jTi9mue] >>159 ありがとうございます!3D表示できました。 追加質問なのですが、>>157 の状態で各オブジェクト視点のカメラ設定ってできますか?
169 名前:Now_loading...774KB [2012/01/24(火) 14:03:20.55 ID:JFNBQGyk] CS4(AS3,Player10.0) WinXP extends MovieClip でMC化したCheckBox(チェックボックス)をメインのタイムラインの 2フレ目で出したいのですが下記エラーが出てしまいます。 TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at fl.controls::CheckBox/drawLayout() at fl.controls::LabelButton/draw() at fl.core::UIComponent/callLaterDispatcher() 流れとしては、1フレ目で外部SWFを5秒間実行した後に、2フレ目でフレームアクションに var chBox:MovieClip = new CheckBox_01(パラメーター); addChild(chBox); と書いています。 クラスCheckBox_01の中身を抜粋すると var chBox:CheckBox = new CheckBox(); public function CheckBox_01(引数) { // 引数をパラメーターとして処理 chBox.label = "選択・非選択"; chBox.addEventListener(Event.CHANGE, showData); addChild(chBox);// これを無効化するとエラーは出ませんが・・・ (泣) } private function showData(event:Event):void { // 選択時の処理 } 単純にCheckBoxをステージにaddChildするのとほぼ近い記述なのですがエラーがでます。 どうしたものでしょうか?
170 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:06:47.31 ID:/J1+/BR8] できないと3Dの意味ないだろ オブジェクトの位置と見たい方向をカメラにブッ込めば可能のはず papervision3Dのヘルプ見れ 日本語のがあったはず
171 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:11:33.68 ID:/J1+/BR8] >>169 とりあえずデバッグモードで走らせてエラー出た行番号のコードを確認 変数が複数あるなら「デバッグパネルの変数」のとこ見てnullの変数を確認 なぜnullになるのかわからなかったらもう1回質問してくれ
172 名前:169 mailto:sage [2012/01/24(火) 20:29:22.65 ID:aJ0wywHx] >>171 レス有難うございます。 原因が分かりそうです。 通常、CS4では使用するコンポーネントを一旦ステージに置いてライブラリ化(ライブラリウインドウ内 に表示)して使用するのですが、このライブラリ化したものを一旦削除して再度ライブラリ化するとOK でしてた(つまり更新しました)。 CS4をメインで使っていますが、このところCS5も併用していたので、もしかしたらですがCS5の コンポーネントを何らかの形で(意図せずコピペしたりして)利用していたのが原因かも知れません。 (不適切なfl.controls.ComboBoxを使っていた??)
173 名前:Now_loading...774KB [2012/01/24(火) 23:19:17.67 ID:8KydtSY4] 環境)WinXP,AIR1.5,CS4 特にAIRとかCSシリーズに限定した話ではないのですが、EventDispatcherを継承した クラスをインスタンス化して内部の記述が実行されたことを感知するEventクラスの パブリック定数には何がありますか? つまり、public class Test01 extends EventDispatcher として、このコンストラクタが実行 されたとします。 ここで予めコンストラクタ中に適切なイベント Event.XXYY を考慮して addEventListener(Event.XXYY, doneFunc); を含めておいて、リスナー関数 function doneFunc(evt:Event):void { try { // 処理内容 trace("実行されますた"); removeEventListener(Event.XXYY, doneFunc,); } catch (errorEvt:Error) { trace(errorEvt.message); } } によりEventDispatcherを継承したクラスTest01の実行終了を他のインスタンスに通知したいです。 ※ここで求める処理はXMLを読み込んで解析することです。 試しに、Event.XXYYをEvent.ACTIVATE,Event.COMPLETE にしましたがリスナー関数は実行 されませんでした。
174 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 23:43:28.12 ID:/J1+/BR8] >内部の記述が実行されたことを感知する うーんイマイチ意味がわからんな インスタンスに通知ってどーゆー事だ… フラグ用意してゲッターで他のクラスに渡すってのとは違うのか ていうかそのカスタムイベントはちゃんと動いてるのかい ここ参考にしてみ ttp://feb19.jp/blog/archives/000115.php
175 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:41:09.12 ID:1fL8G1rX] ああもしかして カスタムイベントクラスのコンストラクタの実行時で反応が無いって事かな? dispatchEventはコンストラクタじゃイベントを送信しないぽい カスタムイベントクラス内の何かのメソッドで 条件を満たしたら以下を実行で インスタンス.addEventListener(Event.XXYY, doneFunc);が反応するお dispatchEvent( new Event( Test01.XXYY ) );//イベントをイベントフローに送出
176 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:45:46.22 ID:1fL8G1rX] ああごめん インスタンス側の記述はこうだな var e:Test01 = new Test01(); e.addEventListener( Test01.XXYY, doneFunc );
177 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:04:12.14 ID:n7jyUYkI] AS3で質問。 ●class Super ┗public var num ●class Sub extends Super ●Sprite ┗var sub = new Sub(); とやった時、sub.numと参照できないんだが・・・ Subクラスの中にpublic var n = super.numとかやれば sub.nって感じで参照できるっぽいが、なんか気持ち悪い。 sub.numを使えるようにするにはどうすればいいだろう?
178 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:20:42.76 ID:n7jyUYkI] ああ getterとかもなるべくなら使いたくないんだけど そういうのしか手はないんだろうか
179 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 23:55:30.19 ID:Qe34xAUd] >>177 うーん?普通に出来てるけど public class Superとかpublic class Subにしてみるとか?
180 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 00:11:43.66 ID:uPkFU8/W] 子SWFロード方式において、子SWFをアンロードする時に、参照が残っていると ガーベジコレクションが行われないということは、色々なWEBページを見て理解しましたが、 以下の場合はどうなるのでしょうか? 子SWFが以下だったとします。 public class Child extends MovieClip { var obj:Object; var array:Array; public function Child (){ obj = new Object(); array = new Array(2); } } 子SWFをロードして、以下でアンロードした時に、 子SWFのobjや、arrayはガーベジコレクションの対象になるのでしょうか? 親SWFのアンロード時の処理 loader.unloadAndStop(); removeChild(loader); loader = null; unloadAndStop()を使って子SWFをアンロードする時に、 リスナーを削除する以外に、何をしないといけないのでしょうか? 上記のような、インスタンス変数にオブジェクトを格納している場合も、 明示的にnullをセットしておかないと、子SWFは解放されないのでしょうか?
181 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 02:13:54.69 ID:17ONX9mB] loaderにnullをいれてんのは参照切るためだよ loaderに別のインスタンス入れてももとのオブジェクトの参照は切れるよ
182 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 08:28:54.60 ID:sARG6wIg] >>179 え できるのか・・・ なんか忘れてることがあるのかな 177では省いてたけどclassもpublicにしてるし・・・
183 名前:174 mailto:sage [2012/01/26(木) 16:12:47.63 ID:V23ba8rS] >>174-176 レス有難うございます。 目的の流れは、 EventDispatcherを継承したカスタムクラス(XML.as)でXMLを読み込んで解析 → 「完了しました」の情報を別クラス(AB.as)(インスタンス)に通知 としています。 XML解析はXML.asのコンストラクタ内で終わらせてこれを通知 できれば良いのでコンストラクタ内のaddEventListener(Event.XXYY, doneFunc); には拘っていません。 ※処理完了を示すEvent.XXYYを探していましたので ということで、dispatchEventを使ってご紹介頂いたリンクや ttp://d.hatena.ne.jp/kamip/20091017/1255804628 のコードでとりあえず通知させる 仕組みは出来ました。 色々有難うございました。
184 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 16:27:59.24 ID:1tKvjhIF] >>182 出来ないわけ無いから、最低限のソース全部貼った方が早いと思うが。
185 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 19:00:55.99 ID:Beh08/YE] あの〜、 Stage.scaleMode = "noScale"; でMCサイズが拡大縮小しないようにしてるのですが ブラウザのウィンドウサイズが一定の大きさより小さくなった場合に MCを縮小するってことはできるのでしょうか?
186 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 22:59:27.47 ID:sARG6wIg] >>184 改めて試したんだができるようになってたわ・・・ なんかすまんかった なんで前はエラーでたんだろう・・・
187 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 00:07:51.02 ID:AY8qNyZU] >>181 回答ありがとうございました。 もう一ついいですか? 1.親でaddChild()して子を追加。 2.子でaddChild()して適当な描画オブジェクトを追加。 こういった場合に、親の参照を切れば、メモリリークの心配はないのでしょうか? それとも、親にぶら下がっている全てのオブジェクトを調べて、 全部removeChild()しないとメモリリークになるのでしょうか?
188 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 01:54:36.84 ID:rWDTRw7N] >>187 >>154 で言ったとおり親の参照が表示オブジェクトツリーから切れても他に持たれていたら親が残る よってその子も残る 親が他から参照なければ子も表示オブジェクトツリーからの参照は切れる でも子が他から参照持たれてたら子は残る その場合たぶん子のparentには親が入ったままだから親も残るかもね 質問の答えとしては 親が子の参照を持ち、子が親の参照を持つだけの状態で表示オブジェクトツリー以外の参照がない場合、親をremoveすれば子もGC対象になるよ 他から参照なければね
189 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 02:28:45.25 ID:jzyOmjeZ] >> 188 回答ありがとうございました。 大変勉強になります。 今、作っているコンテンツが、 どうもリークしているようで、 調査に苦戦してます。 回答いただいた内容を参考に、引き続き 調査してみます。
190 名前:Now_loading...774KB [2012/01/27(金) 08:46:59.84 ID:xzIvTLon] FlashProCS5 ver.110を使用(CS4からのアップグレード版) AS自体の質問ではないのですが、CS5のタイムライン記述(フレームスクリプト)での語彙 検索機能(文字列検索機能)で質問です。 CS5のアクションパネル(フレームスクリプトのパネル)に普通にコードを書いて、普通にコード内の 文字列を検索しよいうと思い、パネル上部の検索アイコン(「ターゲットパス挿入」の左隣の虫眼鏡マーク) を押して『置換して検索』ウインドウを出しました。 ここまではCS4以前と変らないのですが、検索文字欄に文字列を入れて『検索』ボタンを押すと 同一タイムライン記述内に他に同じ文字列があるにも関わらず何も検索されず、更には開いていた タイムラインのスクリプト欄も閉じてしまいます。 (質問したらイジけて引き篭ったような状態。 ASファイルだと無問題) MX2004からCS4まで使っていたのですが、こんな酷い検索機能は初めてで悶絶しそうです。 (検索なんて基本機能中の基本なのに・・・) そこで質問です。 Q1) このアホ検索機能はCS5のデフォですか? Q2) CS5でデフォならCS5.5では改善されてますか? すいません、宜しくお願い致します。
191 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:00:49.89 ID:shQ/bgLM] そんな事ねえだろうw うちはCS5.5だが当然無い CS5でも大丈夫だと思う 再インスコしてもダメならAbodeに報告するしかないな
192 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:10:00.92 ID:shQ/bgLM] だいたい超基本的な質問スレが無いのがいかん 次スレ立たないうちから埋めやがってもうアフォかと… というわけで立てといたお ttp://toro.2ch.net/test/read.cgi/swf/1327630120/l50
193 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:23:42.26 ID:SIdMewnp] CS5で試してみたけど普通に検索できたよ。
194 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:27:27.16 ID:2IjPgFvU] 俺もまだCS5だけど、OK
195 名前:190 mailto:sage [2012/01/27(金) 13:59:10.92 ID:xzIvTLon] >>191-194 再インストールしましたけど症状は同じでした。 因みにOSはWindowsXP-Pro(SP3)でメモリー3.3GB,CPU:Core2DuoのE6550です ググりましたが同じような症状の報告が無いので、もうちょっと調べてからAdobeに聞きます。 最悪、CS5.5を入れるかも知れませんが・・・ >>192 スレ立て有難うございます。 超基本的な質問スレが無かったのでここで聞きました。
196 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 21:41:22.45 ID:0iPwdIwk] AS3で数日ハマっているので質問させてください。 やりたいことは親swfから外部の子swfを読み込んで、 その子swfが外部の.pngを読み込む。それを親swfで表示する。 なのですが、,pngが表示されません。 子swfのシーンに乗ってるものは親swfで表示してます。 子単体では正常に表示してます。 もしかして子swfから外部画像を読み込んだものを 親swfで表示するのはそもそもできないのですか?
197 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 23:50:13.67 ID:Sg/LpXuS] >>196 要は子が参照しているPNGを親で見るってこと? ならば、子のPNG変数(URL)を親に渡すってことで、 SWF 親 子 変数 アクセス でググると吉かも。 注意点は、親子SWFが同じAS3なら良いけど、万が一、子がAS2の場合は変数に アクセスできない。 その場合はライブラリ「ForcibleLoader」とかを使う。
198 名前:Now_loading...774KB mailto:sage [2012/01/28(土) 00:04:45.23 ID:BelXmZ6i] >>196 普通に表示できるよ ロードや表示に関するASやflaを晒さないと原因はわからんが どこかで間違ってるか何かを勘違いしてるのだと思う
199 名前:196 mailto:sage [2012/01/29(日) 13:46:14.22 ID:TwlN1FpD] >>197 ,198 レスを参考に試行錯誤してみます。 どうしもだめな場合はダメASを披露しにきますw ありがとうござました。
200 名前:196 mailto:sage [2012/01/29(日) 17:52:14.17 ID:TwlN1FpD] 解消できなかったのでご教授お願いしにきました。>>196 です。 //親swf1フレーム目 var mc:MovieClip = new MovieClip(); var req :URLRequest = new URLRequest("01/01.swf"); var loader:Loader = new Loader(); loader.load(req); loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete ); function onLoadComplete( e:Event ) { mc = loader.content as MovieClip; container.addChild(mc); mc.gotoAndStop(1); } //子swf1フレーム目 var ld:Loader = new Loader(); var url:URLRequest = new URLRequest("pic/01.png"); var context :LoaderContext = new LoaderContext(); context.applicationDomain = ApplicationDomain.currentDomain; ld.load(url,context); ld.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete ); function onLoadComplete( e:Event ) { addChild(ld); } //子swf2フレーム目(以降02.pngの部分が3フレーム目は03とフレームと同番) url = new URLRequest("pic/02.png"); ld = new Loader(); context.applicationDomain = ApplicationDomain.currentDomain; ld.load(url,context); ld.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError); 環境:FLASHCS5.5 Win7 AS3.0 ディレクトリ階層:ルートフォルダ内に親swfと01フォルダ、 01フォルダ内に子swfの01.swfとpicフォルダ、picフォルダ内に01.png〜
201 名前:196 mailto:sage [2012/01/29(日) 17:58:22.60 ID:TwlN1FpD] 200に追記 container.addChild(mc);のcontainer定義はここの投稿時に 行数警告でその行を削除しましたが、 var container:Sprite = new Sprite(); addChilde(container); と記述してあります。
202 名前:Now_loading...774KB mailto:sage [2012/01/29(日) 18:29:03.04 ID:A9bbXgrx] そのコード試そうかと思ったがメンドイので止めたw そもそも何でそんなヘンテコな構造なんだ DisplayObjectContainer使って コンテナ用意してその中に pic01, pic02 …とSpriteかMovieClipのインスタンスを追加していき そのインスタンス内にロードして表示、非表示等の操作をすれば楽だし改造し易いお >var req :URLRequest = new URLRequest("01/01.swf"); フォルダ名って数字のみでおkだったっけ? ↑
203 名前:196 mailto:sage [2012/01/29(日) 21:38:15.40 ID:TwlN1FpD] >>202 ディレクトリの数字のみの件は、子swfのシーンは表示しているのでリンクはOKなようです。 ためしに01からobjとフォルダ名を変えてみましたが結果は同じでした。 外部に画像を出しておくのが仕様で、子swfを頭から連続再生させたり途中から再生させた かったので各フレームに読み込んで後は親が子swfをプレイすればよいかと考えたのですが 構造をかえてみます。ありがとうございました。
204 名前:Now_loading...774KB mailto:sage [2012/01/29(日) 22:28:24.19 ID:A9bbXgrx] >頭から連続再生 ってまさかアニメ? それならアニメ詰まったのを1個読み込むのが普通だろ なんで画像を1枚づつ読み込むんだ まあ…がんがれ
205 名前:Now_loading...774KB [2012/01/30(月) 21:29:37.73 ID:lCMdSn8T] 質問失礼します。 Adobe Flash Professional CS5 で開発をしているのですが、 traceで出力パネルに出力した文章をコピー&ペーストして.txtとして保存すると テキストの形式がShift-JISで保存されます。 そこで、出力パネルに出力される文字コードをUTF-8にしたいのですが、 traceで出力する際に文字コードの指定などはできないでしょうか?
206 名前:Now_loading...774KB mailto:sage [2012/01/30(月) 23:35:37.41 ID:InGhw/bk] >>205 保存するときにUTF-8にすればいいんじゃない?
207 名前:Now_loading...774KB mailto:sage [2012/01/31(火) 14:19:57.17 ID:yM7uuYbI] >>205 テキスト貼付けるエディタのデフォの設定がShift-JISなんだろ? エディタを何とかしろ
208 名前:Now_loading...774KB [2012/01/31(火) 16:52:45.97 ID:2xuTHBYb] スレ違いだったら申し訳ありませんが、質問です。 ActionScriptにはJAVAのヒープ領域のようなメモリ領域はあるのでしょうか? あるなら、どのくらいのサイズが確保されるものなのでしょうか?
209 名前:Now_loading...774KB mailto:sage [2012/01/31(火) 19:06:08.06 ID:biaD4WdC] help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/system/System.html このへんかな。当たり前だけど処理系ごとに変わるけどね。
210 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 08:10:32.93 ID:TjsnZczT] Chrome以外で自分のSwf見ると挙動がおかしい・・・ Operaだとクリックした時にしかマウスポインタが手に変化しないし、 IEだとFLASHのバナーしか表示されないし・・・ このへん詳しいこと書いてるサイトとかないかな?
211 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 09:44:02.58 ID:ewFRfMTf] FlashはIE基準じゃなかったかな ちょっと前はクロームでキーボード入力受け付けないとかあったけど… IEで挙動がおかしいのは直さないとダメだな ちなみにIEのバージョンとかは? SafariはAppleなのでFlashの挙動が変なのは諦めるしかない
212 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 14:24:53.02 ID:TjsnZczT] Chromeはキーボードも受け付けてるし一番問題ないな IEバージョンは9だったけど、スクリプトだけ色々いじってたらとりあえずIEは表示されるようになったよ・・・原因わからない Safariは持ってないし確認しようないから置いておいてる せめてOperaのボタンのカーソルくらいは直したい・・・ 今はSprite継承の自作クラスの中でthis.buttonMode=trueでやってるけど、これが原因だろうか あとついでに質問だけど、今の状態だとFLASHをドラッグしてしまえるんだけど(テキストドラッグしたみたいに青くなる) これをドラッグさせないようにするのはHTMLとかjavascriptの範疇?
213 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 14:48:17.42 ID:ewFRfMTf] 実際のインスタンス(のターゲット変数).buttonMode=true;にしてる? ドラッグして青くなって選択状態になるのはしょうがないお
214 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 15:00:50.68 ID:TjsnZczT] してない、が外から内からもbuttonMode=trueとしてみたけど変化なかった。 問題のSpriteは MySpriteA ←this.buttonMode=true ┗継承━MySpriteB ┣mc1(適当な絵描いてるMC) ┣mc2(〃) みたいにやってる。 SpriteAがボタンの機能持ってて SpriteBは、例えばmc1がaddChildされてる時に、mc2を表示したくなったら 関数呼び出すとmc1をremoveしてmc2をaddする、みたいにできてる。
215 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 16:40:09.87 ID:ewFRfMTf] mc1をaddChildする時に mc1.buttonMode=true; mc2をaddChildする時に mc2.buttonMode=true; これでだめならもうわからん Operaの方が対応してないぽい
216 名前:Now_loading...774KB [2012/02/02(木) 20:13:16.06 ID:4HNnzc9t] AS3というかASの基本的な質問です。 ある配列 arr0 に別の配列 arr1 を丸ごと追加するにはどうしたら良いでしょうか? arr0.push(arr1) だと arr1 が可変長引数扱いされて arr0 の長さが1個しか増加しません。 ググりましたが、要素単位で追加する説明はありましたが丸ごと追加の説明は 見つかりませんでした。
217 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 20:34:10.59 ID:eJFDLw3v] help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/Array.html#concat () それは圧倒的にググりが足りないな リファレンスくらいはお気に入りにいれときなさい
218 名前:216 mailto:sage [2012/02/02(木) 21:17:57.35 ID:RCR9XpAS] >>217 早速さんきゅう。 でも、できません。 trace("Arr0= "+Arr0.length);// 30 Arr0.concat(Arr1);// 配列の追加 10個 trace(" Arr0= "+Arr0.length);// 30 長さが変化しないのですが・・・
219 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 21:19:38.74 ID:eJFDLw3v] >>218 リファレンスを読み直しましょう ちゃんと例のとおりにつかっていますか?
220 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 21:54:28.42 ID:TjsnZczT] >>215 ちょっとやってみるわ
221 名前:216 mailto:sage [2012/02/02(木) 21:56:11.78 ID:KAFsu2jP] >>219 すいません。。。 左辺が必要でしたね。
222 名前:Now_loading...774KB mailto:sage [2012/02/02(木) 22:37:59.10 ID:eJFDLw3v] >>221 そうそう。そういうパターン実はいくつかあるから注意だね 逆にそういうパターンにしてほしいのに複製作られずにいじられちゃったりするパターンもあったり
223 名前:Now_loading...774KB [2012/02/03(金) 06:20:56.65 ID:i7tdhhgt] TextAreaへのTextFormatによる特定区間の文字の色付け(青色)で困っています。 AS3,AIR1.5,WinXP(FlashCS4) TextArea(tArea)内の文字列を var str0:String = tArea.text; テキストフィールドを var tFd:TextField = tArea.textField; として var tfm:TextFormat = new TextFormat(); tfm.color = 0x0000FF; tFd.setTextFormat(tfm, po0, po0+6);// フォーマットの適用 po0は任意の位置 としても何も変化がなく、po0を変数とせずに tFd.setTextFormat(tfm, 5, 11); としても 同じでした。 テキストフィールドはtFdで参照が取れているのですが色が変りません。 TextAreaのテキストフォーマットは tArea.setStyle("textFormat", tfm) とかで 出来ますが、これだと全文が青色になってしまいます。 どうすべきでしょうか?
224 名前:223 mailto:sage [2012/02/03(金) 06:26:57.42 ID:i7tdhhgt] (上の追記) tFd.getTextFormat(5, 11)で調べると確かに [object TextFormat] と出て、 テキストフォーマットが設定されてはいるようですが・・・
225 名前:Now_loading...774KB mailto:sage [2012/02/03(金) 07:21:02.10 ID:LZoKz3+2] とりあえずこれは抑えてあるよね flabaka.com/blog/?p=535 TextAreaでなく最初からTextField使う場合は意図したとおりに適用されてる?
226 名前:220 mailto:sage [2012/02/03(金) 09:50:16.05 ID:0qxNACgm] >>215 やってみたんだができなかった・・・ 普通のムービークリップ.buttonMode=trueもやってみたけど、 Operaだとクリックして動かさない間しかマウス変化しない・・・ それでFlashProでテスト用のSWF作ってみたが、こっちではちゃんとできてた。 FlashBuilderで作ったのが悪いんだろうか・・・
227 名前:223 mailto:sage [2012/02/03(金) 13:46:33.71 ID:81rqqVrX] >>225 どうも。 TextFieldに文字列を流し込んだ後にsetTextFormatを使用してます。 ちなみに、TextAreaでは文字列が内部に存在しなくても var tArea_tfm:TextFormat = new TextFormat(); tArea.setStyle("textFormat", tArea_tfm); で文字サイズなどの変更が可能です。 またvar tFd:TextField = tArea.textField;として tFd.setTextFormat(tfm, 5, 11); で trace(tFd.getTextFormat(5, 11).color); で文字RGB色を取得すると、ちゃんと青の255が出ます。 つまり、テキストフォーマットは設定されているものの、反映されない状態です。 というか、 「TextAreaでなく最初からTextField使う場合は意図したとおりに適用されてる?」 をもう少し詳しく解説願います。
228 名前:Now_loading...774KB mailto:sage [2012/02/03(金) 13:54:22.72 ID:LZoKz3+2] TxtArea(コンポーネント?)を使わずに単にTextFieldを表示させてる時に意図した通りの見た目になってるか、だよ 問題がTextAreaなのかTextFieldなのか切り分けるの
229 名前:223&227 mailto:sage [2012/02/03(金) 15:43:48.90 ID:81rqqVrX] >>228 さんくす。 TextFieldのみを使った場合、上手くいきました。 TxtAreaは文字単位の色付けといった 細かいことには不向きなのかも知れません。