2016-06-16 6 views
0

私は無限のランナーゲームを作りました。カメラは静的で、環境は上から下に移動していました。プレーヤーは上向きのロケットであり、右。プレイヤーが障害物に衝突すると、パーティクルが発生して爆発します。私が望むのは、カメラが動いているときに残っている粒子の錯覚を示すことです。しかし、私のカメラは静止しているので、カメラを幻想にするために、カメラを静かに動かす必要があります。あなたがDYとySpeedを設定するrandomsを使用しているパーティクルの幻想を作り出す方法はlibgdxに残っています

public Particle(int x, int y, int width, int height) { 
    this.x = x; 
    this.y = y; 
    this.width = width; 
    this.height = height; 
    rotDirection = MathUtils.random.nextBoolean() ? -1 : 1; 
    dx = MathUtils.cos(MathUtils.random(MathUtils.PI2)); 
    dy = MathUtils.sin(MathUtils.random(MathUtils.PI2)); 
    xSpeed = MathUtils.random(MIN_SPEED, MAX_SPEED); 
    ySpeed = MathUtils.random(MIN_SPEED, MAX_SPEED); 
    rotation = MathUtils.random(360); 
    rotationSpeed = MathUtils.random(MIN_ROT_SPEED, MAX_ROT_SPEED); 
} 

public void update(float delta){ 
    x += dx * xSpeed * delta; 
    y += dy * ySpeed * delta; 
    rotation += rotDirection * rotationSpeed * delta; 
} 

答えて

0

は、ここに私のコードです。 次に、これら2つのランダム値とdeltaTimeを使用してy値を変更します。 パーティクルを特定の方向に移動する場合は、パーティクルを移動するためにランダムな値を使用することはできません。

float yMoveSpeedをyに追加してみてください。

public void update(float delta){ 
    x += dx * xSpeed * delta; 
    y += dy * ySpeed * delta; 
    rotation += rotDirection * rotationSpeed * delta; 
    y += yMoveSpeed * delta; 
} 

これは、少なくとも方向に移動する必要があります。

また、libgdxにバンドルされているパーティクルシステムとエディタを使用することもできます。 (gdx-tools内) Game From Scratch tutorial

関連する問題