我正在製作側面卷軸,併爲我製作炮塔的敵人工作。我試圖讓炮塔瞄準玩家,但我似乎無法做到。下面是我想達到的草圖:Flash - SideScroller Turret Math
我想要的桶(深藍色),在玩家瞄準/旋轉至指點。
我已經上傳我的場景的YouTube視頻:
http://www.youtube.com/watch?v=eeP47VoX9uA&feature=youtu.be
這是我迄今爲止(環路):
function enterFrameHandler(e : Event) : void{
_turretBarrel.rotation = Math.atan2(enTarget.x, enTarget.y) * 180/Math.PI;
}
這樣做是唯一的旋轉桶時我跳了起來,槍管甚至沒有瞄準玩家,當我走在炮塔的另一側時,槍管也不會改變旋轉。
我的enTarget.x始終是舞臺的中心,場景(包括炮塔)左右移動(x)......只有enTarget.y移動(跳轉/高平臺)。
我對Flash和ActionScript稍有新意。如果任何人都可以幫助我,或者指引我朝着正確的方向發展,那將會很棒。
感謝
我正在努力遵循這一點。我對AS3真的很陌生,並且很難讓我的腦袋圍繞您的指示 – 2012-03-17 09:11:17
無後顧之憂。首先計算從炮塔到虛擬形象的方向矢量。 DirectionVector = PlayerPosition - TurretPosition。這兩個職位需要在同一個空間(有些在這裏http://www.actionscriptmoron.com/?p=1062解釋)。我猜這個問題的一個來源可能是一個(或兩個)剪輯是其他剪輯的子剪輯。這將使avatar_movieclip.x不是一個可靠的值,因爲它可能是相對於頭像剪輯的父剪輯(如果它有一個)。確保使用絕對位置,除非兩個剪輯都是同一父剪輯的直接子節點。 – 2012-03-18 21:56:52