"Java Game Development with LibGDX"という本では、作者はあなたが望む振る舞いを示すと思うゲームを作っています。ゲームは3章の "Starfish Collector"です。プレイヤーはカメを動かしてヒトデを収集します。左右の矢印キーはカメを回転させ、上矢印キーはカメが現在向いている方向に前進させます。
ゲームのソースコードは、作者のGithubアカウントhereからダウンロードできます。 (彼はzipファイルにそれを置く理由を私は知らない。)
関連するコードは次のようになります。
turtle
は
Actor
を拡張し、いくつかのカスタムクラスを拡張し
@Override
public void update(float dt) {
// process input
turtle.setAccelerationXY(0, 0);
if (Gdx.input.isKeyPressed(Keys.LEFT)) {
turtle.rotateBy(90 * dt);
}
if (Gdx.input.isKeyPressed(Keys.RIGHT)) {
turtle.rotateBy(-90 * dt);
}
if (Gdx.input.isKeyPressed(Keys.UP)) {
turtle.accelerateForward(100);
}
// ...
。
accelerateForward
ためのコードは次のようになります。
public void accelerateForward(float speed) {
setAccelerationAS(getRotation(), speed);
}
そしてsetAccelerationAS
のコードは次のようになります。このコードの最後のビットがユーザーunexistentialだったまさにおそらくであることを
// set acceleration from angle and speed
public void setAccelerationAS(float angleDeg, float speed) {
acceleration.x = speed * MathUtils.cosDeg(angleDeg);
acceleration.y = speed * MathUtils.sinDeg(angleDeg);
}
注意を参照してください。
(あなたがLibGDXとゲーム開発を学習している場合、私はこの本をお勧めしますそれはとても良いことだ。。)
を参照:
達成したいことは何ですか?回転させながらスプライトを動かすか、スプライトを回転させてから移動させますか? – Draz