所以我想开始做一个 2D 平台游戏,我要到明年才能从事物理学,所以我在一本旧的物理学书中找到了方程式,我不得不帮助找到 x 和 y 的位置以及它们的速度。问题是,它们似乎加速太快,因为渲染太慢了。这不是程序的错,而是我的错,因为我不知道如何减慢加速速度以使其看起来更顺畅。这是我正在使用的球类的代码(我知道代码绝对是一团糟!我只是在乱七八糟地试图让方程式正确......如果我在工作,我永远不会这样写我的代码在一个严肃的项目上,所以请不要提醒我它看起来很糟糕)
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JComponent;
public class Ball extends JComponent{
public double xpos;
double oX;
double oY;
double ypos;
double xvel;
double yvel;
long time;
double oxvel;
double oyvel;
long angle = 45;
long startTime = System.currentTimeMillis();
public Ball(int p1, int p2, long t){
xpos = p1;
oxvel = 50;
oX = p1;
ypos = p2;
time = t;
oyvel = -50;
}
public void update(){
xvel = (oxvel*Math.cos(45));
yvel = (oyvel*Math.sin(45)) + (9.8*time);
if(!(xpos + xvel + 10 > getWidth())&&!(xpos + xvel < 0))
xpos +=xvel;
if(!(ypos + yvel + 10 > getHeight())&&!(ypos + yvel <= 0))
ypos+=yvel;
time++;
}
public void paint(Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.RED);
g2d.fillOval((int)xpos, (int)ypos, 15, 15);
}
}