2012-12-28 37 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

相關問題