2012-10-05 32 views
0

這應該是相當簡單,我想,我只是不熟悉actionscript哈哈。從另一個動畫片段內獲取圖形/影片剪輯的x,y位置?

我有一個遊戲,我有背景移動到屏幕上一個角色的背後。我對ActionScript3相對來說比較陌生,但我希望在玩家按下某個鍵傳遞給後臺的某些對象時彈出文本框。

所以,基本上背景本身是一個影片剪輯,並且我在背景MC中有其他圖形和影片剪輯。

我正在考慮獲取player.x和y的位置,然後將該位置(> =和< =等)與背景中的圖形/影片剪輯進行「比較」。但我只是不知道如何獲得背景mc中圖形/電影剪輯的x和y座標。

+0

聽起來就像你想比較不同座標空間中的不同顯示對象相互之間的接近程度。看看.localToGlobal,這個方法將座標轉換爲全局空間,並且通過將背景中的對象和玩家座標轉換爲全局,您可以將它們相互比較。 – Strille

回答

1

您可以嘗試通過獲取其座標,然後移除父母的位置(背景容器)來在背景中定位您的影片剪輯。

是這樣的:

VAR finalXPosition:整數= targetMovieClip.x - backgroundContainer.x;

var finalYPosition:int = targetMovieClip.y - backgroundContainer.y;

通過將目標movieclip父母的位置減去其位置,您可以獲得父母的範圍座標中的最終位置。 只要你的角色和背景容器位於顯示列表的同一級別,它就應該適合你。

這裏是什麼,我試圖解釋一個快速的圖(請原諒我的inaptitude繪製漂亮的和明確的圖紙^^) enter image description here

通常,當我偶然發現這樣一個情況下,我儘量讓快速,甚至骯髒的繪圖,從我想要的開始,然後分解每一個有用的數據,我必須達到這個結果,你應該記住這個方法,並在下次嘗試! :-)

+0

啊這樣深入的解釋與圖!嗯......恐怕我還是不太明白,仍然在學習動作的來龍去脈,這可能是爲什麼。儘管非常感謝你的建議!我只需要更多解釋如何實際獲得targetMovieClip的座標?像我到底需要做什麼才能讓我的目標MovieClip在actionscript 3中的位置?我想我知道我應該能夠自己處理所有事情。再次感謝您的幫助! –

+0

(爲了說明我只需要知道從背景mc中獲取目標mc的位置),因爲我的背景實際上是從X = 0座標開始的!多麼方便! –

+0

啊,這就是我害怕的:-)沒問題,我會試着解釋一下:在Flash中,每個元素(movieclip)都可以通過它的「name」.x或.y來訪問。如果你知道它的父類(在這裏,例如背景),你可以通過使用myBackground.myMovieClip來訪問你的動畫片段:這些(背景,目標動畫片段)中的每一個都具有像x,y,width,height等屬性。有你的目標動畫片段的位置,你需要:你的背景位置(我想你知道它,如果你移動它)和目標位置在該背景(使用上面提到的點符號)。 – elFlashor

相關問題