AS3无法正确设置对象的属性

时间:2016-04-02 07:01:34

标签: actionscript-3

所以显然我遇到了一个问题,当我调用构造函数并在其中设置对象的属性时,输出不正确。

我有一个名为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 个答案:

答案 0 :(得分: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();
}