2016-04-02 61 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。但是,每當我調用構造函數,對象x的位置始終爲0。出人意料的是,當我嘗試設置對象的屬性的構造函數外,該對象的x座標仍處於0

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

在這一點上,我決定發表評論

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

行中的類AS文件,並再次創建一個Patch類的實例。仍然無濟於事。我用了55以外的其他值(例如334,90)來檢查是否有問題。仍然錯位在x:0。

爲了您的信息,Y座標表現得很好。玩了一下,這很好。

我想知道什麼是主要問題。是班嗎?它有其他的東西嗎?我很樂意收到任何答案(除了一個答案)或任何參考鏈接。如有必要,我可以包含其他源代碼。先謝謝你!

+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(); 
}