1

スプライトを直線経路に沿って移動しようとしています。勾配上で5ピクセル移動するか、終点に到達するまでメソッドを実行するたびに斜辺を移動します。

線の傾きとy切片があり、getX()とgetY()を介してスプライトの現在のX値とY値もあります。停止する最後のXポイントとYポイントは、変数finalXとfinalYです。

私はたくさんの方程式を試しましたが、どれもうまくいかないようです。何が足りない!!?

うまくいけば、この画像は私がやろうとしていることに意味があります!

私の最新の方程式は、y = mx+bを使おうとしていました。

float X = (getY() + 5 - interceptY)/slope;
float Y = slope*(getX() + 5) + interceptY;
setPosition(X, Y);
4

1 に答える 1

4

私の最近のゲームからのいくつかの方程式であなたを助けることができます、コードはその回転を与えられたオブジェクトを動かします:

float xDirection = FloatMath.sin((float) Math.toRadians(getRotation()))
            * currentSpeed;
float yDirection = FloatMath.cos((float) Math.toRadians(getRotation()))
            * -currentSpeed;

float newX = getX() + xDirection;
float newY = getY() + yDirection;

スプライトを動かすのに必要な角度を導き出すだけで、これでうまくいきます。お役に立てれば。

于 2012-07-20T07:02:30.343 に答える