我已经开始学习游戏物理,我正试图以一个角度移动一个球.但它并没有改变它的角度.Java坐标系有点不同,我认为我的问题就在那里.这是我的代码.
这是用于计算x和y速度:
scale_X= Math.sin(angle);
scale_Y=Math.cos(angle);
velosity_X=(speed*scale_X);
velosity_Y=(speed*scale_Y);
Run Code Online (Sandbox Code Playgroud)
这是用于在run()函数中移动球:
ball.posX =ball.posX+(int)velosity_X;
ball.posY=ball.posY+(int)velosity_Y;
Run Code Online (Sandbox Code Playgroud)
我用过(int)velosity_X,(int)velosity_Y因为在ball课堂上画画对象
g.drawOval(posX, posX, width, height);
Run Code Online (Sandbox Code Playgroud)
这里g.drawOval要求int.我不知道这是不是一个问题.此外,如果我使用角度30它会变为+ X和+ Y但是如果我使用角度35它会变为-X和-Y.我没弄清楚如何在Java中使用坐标系.
| 归档时间: |
|
| 查看次数: |
4247 次 |
| 最近记录: |