2012-01-06 32 views
2

我基本上想要的是一款平臺遊戲,您可以通過獲取過去的敵人等途徑來推進遊戲。隨着你前進和挑選,你會得到不同的武器。我希望你能拿起這些不同的武器來指向鼠標當前的方向。平臺遊戲 - 讓對象根據鼠標位置調整角度

由於有點難以舉例說明,我發現一個視頻幾乎可以顯示我想要的東西,但是使用了不同的精靈。 http://www.youtube.com/watch?v=8W7WSkQq5SU

因此,可以說,這是我的形象會使用的武器之一: Pickaxe

我怎麼會去調整它(僞代碼),使鎬右側點指向鼠標的方向相同嗎?

我只是在尋找一些關於如何以最有效的方式和最平滑的方式去做的僞代碼。

+0

這取決於你所使用呈現什麼遊戲。 – 2012-01-06 19:02:11

回答

4

如果您使用的是Java Graphics2D,那麼您必須使用AfflineTransform。要做到這一點首先轉化爲鎬的軸線。然後,您可以通過使用atan2找到的鼠標方向旋轉。然後您繪製斧頭,以便偏移與軸點匹配。

僞代碼:

#function drawAxe: 
    translate(player.x, player.y); 
    translate(pickaxis.x, pickaxis.y); 
    rotation=toDegrees(atan2(mouse.y-player.y,mouse.x-player.x)); 
    rotate(roation); 
    translate(-axisPointOnPickaxe.x, -axisPointOnPickaxe.y); 
    drawImage(pickaxe.texture); 
    IdentityMatrix();//[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]] or no transformation. i think you have to set a blank transform to do this in java efficiently 
#endFunction drawAxe 
+0

好的,謝謝。我想我可以得到它與它一起工作! – ComputerLocus 2012-01-06 19:14:49

+2

確保您在最後重置轉換,否則您的下一次繪製調用將會搞砸。 – 2012-01-06 19:17:29