gpt4 book ai didi

java - 平台游戏 - 让对象根据鼠标位置调整角度

转载 作者:行者123 更新时间:2023-11-30 07:29:04 25 4
gpt4 key购买 nike

我基本上想要的是一款平台游戏,您可以在其中通过击败敌人等来推进各个阶段。当你前进和捡东西时,你会得到不同的武器。我希望你拿起的这些不同的武器能够指向鼠标当前所在的方向。

因为要正确举例有点困难,我找到了一个视频,它几乎完全显示了我想要的内容,但使用了不同的 sprite。 http://www.youtube.com/watch?v=8W7WSkQq5SU

所以假设这是我将用于其中一种武器的图像: Pickaxe

我将如何调整它(伪代码)以使镐的正确点指向与鼠标相同的方向?

我只是在寻找一些伪代码,告诉您如何以最有效和最流畅的方式执行此操作。

最佳答案

如果您使用的是 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

关于java - 平台游戏 - 让对象根据鼠标位置调整角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8762907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com