添加到坐标0,0的舞台上的对象出现在中间附近...为什么?

时间:2012-12-28 10:57:42

标签: actionscript-3 flash coordinates

我正在使用Flash Builder构建一个flash-web应用程序,每当我尝试将对象添加到舞台时,即使它们的坐标设置为0,0,它们也会出现在中心附近。我已经尝试跟踪鼠标移动以查看左上角的坐标是什么,并且它们始终是负数。

奇怪的是,孩子们的舞台坐标和位置会根据flash对象的大小而改变。例如,如果flash对象的宽度为500像素,则舞台的左上角约为-130,如果flash对象的宽度为800像素,则其约为-200。为什么坐标系错了?我是否必须改变锚点或类似的东西?

以下是我试图定位在0,0:

的对象示例
var square:Sprite = new Sprite();
addChild(square);
square.graphics.lineStyle(3,0x00ff00);
square.graphics.beginFill(0x0000FF);
square.graphics.drawRect(0,0,100,100);
square.graphics.endFill();
square.x = 0;
square.y = 0;

这显示在中心附近,我无法弄清楚原因。

2 个答案:

答案 0 :(得分:0)

您使用的是MovieClip或Sprite的对象吗?如果是这样,那么您的注册点可能处于错误的位置。

通常,注册点位于对象的中间,而不是像你想要的那样左上角。因此,坐标与舞台不同。

答案 1 :(得分:0)

我通过添加

来解决这个问题
stage.align = StageAlign.TOP_LEFT;

到主要功能。