2012-12-28 36 views
0

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

奇怪的是,孩子的舞台坐标和位置根据闪光物体的大小而变化。例如,如果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; 

这表明了在中心附近,我想不通为什么。

回答

0

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

通常将注册点放置在对象的中间,而不是让您按照自己想要的方式说出左上角。所以协调将与舞台不同。

+0

我已经试过它与雪碧和DisplayObject。如果这些对象的注册点存在问题,那么为什么MouseEvent.MOUSE_MOVE的坐标也显示不正确? – zakdances

+0

你有任何代码示例?那么回答你的问题会更容易。 – 2012-12-28 11:47:58

+0

我添加了一些试图添加对象的代码。这是从主函数调用的。 – zakdances

0

我通过添加

stage.align = StageAlign.TOP_LEFT; 

给主函数固定这一点。

+0

正确的问题和答案已经存在:http://stackoverflow.com/questions/5339322/how-to-align-the-actionscript-project – prototypical

相关问题