gpt4 book ai didi

java - 怎样才能让球被球杆击中后到达它应该去的地方呢?

转载 作者:行者123 更新时间:2023-12-02 01:31:05 25 4
gpt4 key购买 nike

我现在正在尝试制作 3 垫台球游戏。我有一个小问题。当我松开鼠标并用棍子击球时,球没有到达它应该去的地方。

解决这个问题的最佳方法是什么?

我尝试在公式中使用mouseXmouseY,这使得球能够到达它应该去的任何地方。但它只适用于一个象限。球大部分会到达 JFrame 的左上角。

我有一种感觉,我需要使用多个 if 语句和一个名为 angle 的变量,但我不确定如何使用。

public void mouseReleased(MouseEvent e)
{
LineDraw = false;
MouseDragged = false;
WHITExSpeed = -mouseX * 0.005;
WHITEySpeed = -mouseY * 0.005;
//repaint();
}

public void mouseDragged(MouseEvent e)
{
LineDraw = true;
MouseDragged = true;
mouseX = e.getX();
mouseY = e.getY();
repaint();
}
...
//This if statement in is paintCompoment
if(LineDraw)
{
Line2D.Double Stick = new Line2D.Double(white.getCenterX(),white.getCenterY(), mouseX, mouseY);
g2d.setColor(Stick_Color);
g2d.setStroke(new BasicStroke(5));
g2d.draw(Stick);
}

释放鼠标按钮后,球必须到达摇杆所面向的任何位置。

最佳答案

我认为您的问题在于 WHITExSpeed/WHITEySpeed

您不计算从鼠标位置到那里的白球的增量。

不是应该跟随吗?

WHITExSpeed = (mouseX - white.getCenterX()) * 0.005; 
WHITEySpeed = (mouseY - white.getCenterY()) * 0.005;

关于java - 怎样才能让球被球杆击中后到达它应该去的地方呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56053606/

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