Java 2d方向鼠标点旋转
发布时间:2020-12-15 07:37:54 所属栏目:Java 来源:网络整理
导读:到目前为止,我有一个 java应用程序,我绘制一个圆(播放器),然后在顶部(枪管)绘制一个绿色矩形.我有它,所以当玩家移动时,枪管随之而来.我想让它找到鼠标指向的位置,然后相应地旋转桶.有关我的意思的一个例子,看看这个视频,我发现 http://www.youtube.com/watch
到目前为止,我有一个
java应用程序,我绘制一个圆(播放器),然后在顶部(枪管)绘制一个绿色矩形.我有它,所以当玩家移动时,枪管随之而来.我想让它找到鼠标指向的位置,然后相应地旋转桶.有关我的意思的一个例子,看看这个视频,我发现
http://www.youtube.com/watch?v=8W7WSkQq5SU看看玩家图像在移动鼠标时的反应如何?
这是目前为止游戏的样子: 那我怎么像这样旋转呢?顺便说一句我不喜欢使用affinetransform或Graphics2D旋转.我希望有更好的方法.谢谢 解决方法
使用Graphics2D旋转方法确实是最简单的方法.这是一个简单的实现:
int centerX = width / 2; int centerY = height / 2; double angle = Math.atan2(centerY - mouseY,centerX - mouseX) - Math.PI / 2; ((Graphics2D)g).rotate(angle,centerX,centerY); g.fillRect(...); // draw your rectangle 如果要在完成后移除旋转,以便可以继续正常绘制,请使用: Graphics2D g2d = (Graphics2D)g; AffineTransform transform = g2d.getTransform(); g2d.rotate(angle,centerY); g2d.fillRect(...); // draw your rectangle g2d.setTransform(transform); 无论如何只使用Graphics2D进行抗锯齿等等是个好主意. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读