gpt4 book ai didi

Java:用角度移动球?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:43:35 24 4
gpt4 key购买 nike

我已经开始学习游戏物理,我正在尝试以一定角度移动球。但它不会改变它的角度。 Java 坐标系有点不同,我想我的问题就在那里。这是我的代码。

这是为了计算 x 和 y 速度:

 scale_X= Math.sin(angle);
scale_Y=Math.cos(angle);
velosity_X=(speed*scale_X);
velosity_Y=(speed*scale_Y);

这是为了在 run() 函数中移动球:

  ball.posX =ball.posX+(int)velosity_X;
ball.posY=ball.posY+(int)velosity_Y;

我使用了 (int)velosity_X(int)velosity_Y 因为在 ball 类中我绘制了对象

g.drawOval(posX, posX, width, height);

这里 g.drawOval 需要 int。我不知道这是不是问题。另外,如果我使用角度 30,它会变成 +X 和 +Y,但如果我使用角度 35,它会变成 -X 和 -Y。我不知道如何在 Java 中使用坐标系。

最佳答案

Math.sin() 和 Math.cos() 期望以弧度 为单位的角度。您应该将角度转换为弧度 (angle*Math.PI/180)。

关于Java:用角度移动球?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2740909/

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