【AS3】FlashDevelop【フリー】 (601レス)
前次1-
抽出解除 レス栞

465
(6): 2010/11/09(火)17:28 ID:aID2qAbN(1/7) AAS
FlashDevelop+FlexSDKでリキッドレイアウトのサイトを目指して頓挫。
識者の意見を聞きたい。

まず前提としてFlashは持っていない(Mac版ver.8ならある)
FlashDevelopを知って3日目、本屋でFlashDevelop完全ガイド購入して2日目。
HTMLとCSSは一通り、JavaScriptはコピペ改変程度の理解。AS3は勉強開始したばかり。
ガイド本の作例サイトの画像差し替えでオリジナルサイト出来た!と喜んでたが、
ウィンドウのリサイズで上下、左右に隙間が出来ることに不満を持ちリキッドレイアウトへ。

ちなみにリキッドレイアウトとはウィンドウのサイズに合わせてコンテンツが伸び縮みするもの。
とりあえず外部リンク[html]:www.alwaysfinetuning.comを参考に、
本のサンプルを改変してみたが、エラーが出て、解決策もわからない。
省2
466
(2): 465 2010/11/09(火)17:35 ID:aID2qAbN(2/7) AAS
>>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
省16
467
(2): 465 2010/11/09(火)17:39 ID:aID2qAbN(3/7) AAS
>>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行目
省9
468
(1): 465 2010/11/09(火)17:40 ID:aID2qAbN(4/7) AAS
>>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行目
}

}

}
省1
469
(1): 465 2010/11/09(火)17:47 ID:aID2qAbN(5/7) AAS
>>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.
って怒られる。

パスの指定が間違ってるとかそういうことか?
省5
471: 465 2010/11/09(火)18:10 ID:aID2qAbN(6/7) AAS
>>469
自己解決しました。
ソースは後ほど。

>>470
ありがとうございます。
今回は偶然にも運良く解決しましたが、仰る通りすぐ別の壁に当たりそうです。
AS3の基礎を学んでから出直します。
472: 465 2010/11/09(火)18:18 ID:aID2qAbN(7/7) AAS
解決ソース。>>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;}
省9
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.161s*