身体和精灵位置

时间:2014-07-22 14:01:42

标签: actionscript-3 position sprite nape

当我编译我的英雄并没有触摸地板但是反正停在上面的几个像素。我想如果我跟踪了两个身体和他们各自的精灵,我就知道哪些不是一致的。

trace("Hero: ", hero.position.y, "/", heroSprite.y);
trace("Floor: ", floor.position.y, "/", floorSprite.y);

我得到以下内容,

英雄:470.2(...)/ 470.2

楼层:0/0

此外,在以下情况下,y属性中的楼层位置0如何:

createWall(stage.stageWidth/2, 500, 100, 30); //(y = 500)

我读到了颈背身体的注册点'在中间,精灵一个位于左上角,所以当给精灵提供与身体相同的x和y时,它不会匹配。精灵下面的位置不合适。

public function createWall(x:Number, y:Number, width:Number, height:Number):void
        {
            wall.shapes.add(new Polygon(Polygon.rect(x, y, width, height)));
            wall.space = space;

            wallSprite.graphics.beginFill(0x000000);
            wallSprite.graphics.drawRect(x, y, width, height);
            wallSprite.graphics.endFill;
            addChild(wallSprite);   

            wall.userData.sprite = (wallSprite);
            addChild(wall.userData.sprite);
        }

我尝试了wallSprite.graphics.drawRect(-width/2, -height/2, width, height);,但没有成功。虽然我相信问题就在那里,正确放置精灵。

1 个答案:

答案 0 :(得分:1)

绘图不会影响对象的位置。在你的情况下,墙是0,0你在x:stage.stageWidth / 2,y:500绘制,但不会成为墙坐标,无论如何它们仍然是0,0。