2016-04-02 57 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(); 
}