【AS3】FlashDevelop【フリー】 (601レス)
【AS3】FlashDevelop【フリー】 http://mevius.5ch.net/test/read.cgi/swf/1216151218/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
146: Now_loading...774KB [sage] 2009/08/14(金) 01:11:18 ID:w4LLHFJe もう解決したが、謎仕様にハメられた・・・ 例) [SWF (width=800, height=600, backgroundColor=0xffffff, frameRate=20)] public class Main extends Sprite public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { // ここで stage.stageWidth と stage.stageHeight // を取った時・・・ ローカルで直接swfを叩くと 設定値がちゃんと取れる // しかし WebServer上に上げて http://hogehoge/huga.swf のようにして実行するとなんと 0 が返る // 挙動が変わるとはこれいかに } } http://mevius.5ch.net/test/read.cgi/swf/1216151218/146
147: Now_loading...774KB [sage] 2009/08/14(金) 01:14:43 ID:w4LLHFJe >>146 の解決策 例) [SWF (width=800, height=600, backgroundColor=0xffffff, frameRate=20)] public class Main extends Sprite { public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); addEventListener(Event.ENTER_FRAME, ent); } private function ent(e:Event = null):void { removeEventListener(Event.ENTER_FRAME, ent); // EnterFrameを一段カマせば、ブラウザ越しでもローカル実行でも取れる // ※サイズはその時のステージのサイズ } } http://mevius.5ch.net/test/read.cgi/swf/1216151218/147
148: Now_loading...774KB [sage] 2009/08/14(金) 01:17:51 ID:w4LLHFJe ちなみに、謎仕様と言うか動きから察するに、win32で言う所の、 WM_PAINT が実行されたタイミングでサイズ決定してるんだろうなぁという感想 stage.stageWidth と stage.width の違いも知らないと多分間違うし、結構罠が多い… 無駄に時間食ってしまった http://mevius.5ch.net/test/read.cgi/swf/1216151218/148
150: Now_loading...774KB [sage] 2009/08/14(金) 21:08:05 ID:w4LLHFJe あとこういう謎仕様と言うか、Flashの中の動きを想像して予想しないと 一見何でも無いような事すら書けないってのはちょっと苦痛な気もする・・・ 理由わかる? 例1) var w:int = 200; var h:int = 50; var sp:Sprite = addChild(new Sprite()) as Sprite; sp.graphics.beginGradientFill(GradientType.LINEAR, [0xffffff, 0x000000], [1.0, 1.0], [200, 255]); sp.graphics.drawRoundRect(0, 0, w, h, 8, 8); sp.graphics.endFill(); 例2) 〜例1と同じ前略〜 var sp:Sprite = addChild(new Sprite()) as Sprite; sp.width = w; sp.height = h; 〜例1と同じ後略〜 空の Sprite の width/height を設定するかしないかで描画の内容が変わるって一体・・・ http://mevius.5ch.net/test/read.cgi/swf/1216151218/150
151: Now_loading...774KB [sage] 2009/08/14(金) 21:15:46 ID:w4LLHFJe あ、ちなみに誤解の無いように言っておくと、不満色々書いてても 俺根本的にFlash好きだからなww ブツブツ文句言いながら追いかけて楽しんでる http://mevius.5ch.net/test/read.cgi/swf/1216151218/151
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.074s*