に私は宇宙船が重力画面中央の星に魅了されている必要があります簡単なゲームを作ってるんです。私が今までに長方形を(まもなくロケットになるように)動かすコードは、まったく滑らかではありません。矩形も星に到達したときに停止することはありませんが、戻ってくる前に星を超えて動き続けます。必要に応じて、YA XA、私はロケットが、中心に対するスクリーン上のどこにあるか計算することで起動し、その加速度値を変更惑星重力は、Java
public void move() {
// Deals with gravity towards the center star
if (x > game.getWidth()/2) {
xVel -= xa;
}
if (x < game.getWidth()/2) {
xVel += xa;
}
if (y > game.getHeight()/2) {
yVel -= ya;
}
if (y < game.getHeight()/2) {
yVel += ya;
}
x += xVel;
y += yVel;
}
と:
は、ここに私のコードです。次に、Velocity変数xVelとyVelに加速度値を追加します。
情報ありがとうございました...あなたの質問は? – pczeus
*衝突検出*を追加しない限り、重力に引き付けられた物体は重心を越えて移動し、物体の後ろにある重力の引き込みから再び減速します。それは重力が働く方法です。 – Andreas