2016-04-02 16 views
0

明らかに、コンストラクタを呼び出してオブジェクトのプロパティを設定すると、出力が正しくないという問題が発生しました。AS3オブジェクトのプロパティを正しく設定できません

私はPatchという名前のクラスを持っています。

public function Patch() 
{ 
    this.addEventListener (Event.ADDED_TO_STAGE, addedToStageHandler); 
} 
private function addedToStageHandler(evt:Event) 
{ 
    _stageW = stage.stageWidth; 

    _cropArray = new Array(); 

    this.x = 55; 
    this.y = 76; 

    _stageW = 800; //FIXME: Coded hard 
    _transition = new Tween (this, "x", Regular.easeInOut, 0, 0, 1, true); 
    _transition.stop(); 
} 

あなたが見ることができるように、この

this.x = 55; 
this.y = 76; 

ラインがあります:私は、このコンストラクタを呼び出そうとしました。明らかに、私はその位置をx:55とy:76に設定したい。しかし、いつでも私は常に、驚くべきことには0であること、私は、コンストラクタの外にオブジェクトのプロパティを設定しようとすると、オブジェクトのxは、私が決めた。この時点で0

var p:Patch = new Patch(); 
p.x = 55; 
p.y = 76; 
addChild (p); 

ではまだ座標オブジェクトxの位置、コンストラクタを呼び出します

this.x = 55; 
this.y = 76; 

行をクラスASファイルにコメントし、再度Patchクラスのインスタンスを作成します。まだ役に立たない。それが重要かどうかを確認するために55以外の値(334,90など)を使用しました。まだx:0に置き換えられています。

あなたの情報のために、Y座標はうまく機能します。ちょっと遊んで、それはちょうどいいです。

私は主要な問題が何かを知りたいです。それはクラスですか?それは他のものですか?私は喜んで(1つを叩くことを除いて)何かの答えまたは参照リンクを受け取るでしょう。必要に応じて残りのソースコードを含めることができます。前もって感謝します!

+1

トゥイーンをコメントアウトしてもう一度チェックしてください。 – Vesper

+0

@Vesperあなたは私のヒーローです!私はそれが簡単だとは信じられません。あなたが投稿でそれに答えることができるなら、私は答えとしてそれを選ぶでしょう – mghazian

答えて

0

本当の応答ユーザーのためのヘルプ。トゥイーンをコメントアウトしてもう一度チェックしてください

public function Patch() 
{ 
this.addEventListener (Event.ADDED_TO_STAGE, addedToStageHandler); 
} 
private function addedToStageHandler(evt:Event) 
{ 
_stageW = stage.stageWidth; 

_cropArray = new Array(); 

this.x = 55; 
this.y = 76; 

_stageW = 800; //FIXME: Coded hard 
// _transition = new Tween (this, "x", Regular.easeInOut, 0, 0, 1, true); 
// _transition.stop(); 
} 
関連する問題