【AS3】FlashDevelop【フリー】 (601レス)
【AS3】FlashDevelop【フリー】 http://mevius.5ch.net/test/read.cgi/swf/1216151218/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
465: Now_loading...774KB [sage] 2010/11/09(火) 17:28:54 ID:aID2qAbN FlashDevelop+FlexSDKでリキッドレイアウトのサイトを目指して頓挫。 識者の意見を聞きたい。 まず前提としてFlashは持っていない(Mac版ver.8ならある) FlashDevelopを知って3日目、本屋でFlashDevelop完全ガイド購入して2日目。 HTMLとCSSは一通り、JavaScriptはコピペ改変程度の理解。AS3は勉強開始したばかり。 ガイド本の作例サイトの画像差し替えでオリジナルサイト出来た!と喜んでたが、 ウィンドウのリサイズで上下、左右に隙間が出来ることに不満を持ちリキッドレイアウトへ。 ちなみにリキッドレイアウトとはウィンドウのサイズに合わせてコンテンツが伸び縮みするもの。 とりあえずttp://www.alwaysfinetuning.com/ao-blog/2009/01/as3-3.htmlを参考に、 本のサンプルを改変してみたが、エラーが出て、解決策もわからない。 次レスに、理解できている内容、次々レスにつまづいている内容、 次々々レスにエラーの内容と考察を書く。 http://mevius.5ch.net/test/read.cgi/swf/1216151218/465
466: 465 [sage] 2010/11/09(火) 17:35:11 ID:aID2qAbN >>465の続き(2/5) package { import flash.display.*; import flash.events.*; public class Main extends Sprite { [Embed(source = 'assets/bg.png')] private static const BG:Class; 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); // entry point var bg:Bitmap = new BG(); addChild(bg); } } } この中身は理解している 一語一句とまでは行かないが、各行の意味は理解。 HTMLで言うところの<html><body background="hoge.jpg"></body></html>の状態。 http://mevius.5ch.net/test/read.cgi/swf/1216151218/466
467: 465 [sage] 2010/11/09(火) 17:39:15 ID:aID2qAbN >>465の続き(3/5) エラーの出ている内容 ここまでは>>464と一字一句一緒なので省略 private function init(e:Event = null):void { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = "TL" removeEventListener(Event.ADDED_TO_STAGE, init); // entry point var bg:Bitmap = new BG(); //25行目 addChild(bg); var parH:Number = stage.stageHeight / 542; //背景画像の高さ var parW:Number = stage.stageWidth / 962; //背景画像の幅 if (parH < parW) {bg.scaleX = parW;bg.scaleY = parW; } else {bg.scaleX = parH;bg.scaleY = parH; } stage.addEventListener(Event.RESIZE, resized); } http://mevius.5ch.net/test/read.cgi/swf/1216151218/467
468: 465 [sage] 2010/11/09(火) 17:40:49 ID:aID2qAbN >>467の続き(4/5) private function resized(e:Event):void { var parH:Number = stage.stageHeight / 542; //背景画像の高さ var parW:Number = stage.stageWidth / 962; //背景画像の幅 if (parH < parW) {bg.scaleX = parW;bg.scaleY = parW; //45行目 } else {bg.scaleX = parH;bg.scaleY = parH; //47行目 } } } } http://mevius.5ch.net/test/read.cgi/swf/1216151218/468
469: 465 [sage] 2010/11/09(火) 17:47:19 ID:aID2qAbN >>465-468の続き(5/5)連投スマソ、最後です。 Error: Access of undefined property bg.(45,47行目に対して各2回) わからないなりに推測すると、 関数private function init()で定義した変数「bg」を、 別のprivate function resized()でそのまま使ったから、 見つかりませんと言われたのだろう。 それならってことでvar bg:Bitmap = new BG();のvarを取ると、 Main.as(25): col: 20 Error: Illegal assignment to class Bitmap. って怒られる。 パスの指定が間違ってるとかそういうことか? はたまた、JSの様にresize(bg); function resize(hoge){}みたいに変数の受け渡しするのか? その場合、e:Eventとvoidはどうしたらいいのか? そもそもAS3の考え方を理解できていない気もする。 詳しい人の意見を聞かせてください。 http://mevius.5ch.net/test/read.cgi/swf/1216151218/469
471: 465 [sage] 2010/11/09(火) 18:10:20 ID:aID2qAbN >>469 自己解決しました。 ソースは後ほど。 >>470 ありがとうございます。 今回は偶然にも運良く解決しましたが、仰る通りすぐ別の壁に当たりそうです。 AS3の基礎を学んでから出直します。 http://mevius.5ch.net/test/read.cgi/swf/1216151218/471
472: 465 [sage] 2010/11/09(火) 18:18:28 ID:aID2qAbN 解決ソース。>>466のfunction initの中身を以下に書き換える。要するにfunction resizedを内包した。 private function init(e:Event = null):void { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = "TL" removeEventListener(Event.ADDED_TO_STAGE, init); var bg:Bitmap = new BG(); addChild(bg); var parH:Number = stage.stageHeight / 542; var parW:Number = stage.stageWidth / 962; if (parH < parW) {bg.scaleX = parW;bg.scaleY = parW;} else {bg.scaleX = parH;bg.scaleY = parH;} function resized(e:Event):void { var parH:Number = stage.stageHeight / 542; var parW:Number = stage.stageWidth / 962; if (parH < parW) {bg.scaleX = parW;bg.scaleY = parW;} else {bg.scaleX = parH;bg.scaleY = parH;} } stage.addEventListener(Event.RESIZE, resized); } http://mevius.5ch.net/test/read.cgi/swf/1216151218/472
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.341s*