簡體   English   中英

需要幫助以自上而下的射擊游戲(Java)使圖像旋轉以面對鼠標

[英]Need help getting image to rotate to face the mouse in a top-down shooter (Java)

我在游戲中遇到玩家移動的麻煩。 該游戲是自上而下的射擊游戲,其中,玩家的位置由W,A,S和D控制。我想通過移動鼠標來控制玩家面對的方向。

我知道我需要使用mouseMoved方法來跟蹤鼠標,但是我在計算角度和實際旋轉圖像時都迷失了方向。

該圖像基本上是帶有黑線的圓圈,表示噴槍伸出。

任何幫助是極大的贊賞!

您可以使用播放器和鼠標坐標來計算角度:

float angle = (float)(Math.atan2(player.y - mouse.y, player.x - mouse.x));

這將為您提供以弧度為單位的角度。

然后在繪制對象時:

AffineTransform reset = new AffineTransform();
reset.rotate(0, 0, 0);
Graphics2D g2 = (Graphics2D)g;
g2.rotate(angle, player.x, player.y);
//draw the image here
g2.setTransform(reset);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM