2017-04-08 25 views
0

私はbox2dを使っているので、ベクトルを使って正弦波を作りたいと思います。処理時に正弦波を作成するにはどうすればよいですか?

これまでのところ、私はbridgeparticlesの鎖である(void draw()中)

Vec2 mov2 = new Vec2(sin(angle)*scalar,0); 

for (int j = 0; j <= 10; j++) { 
    bridge.particles.get(j).body.setLinearVelocity(mov2); 
} 

を持っています。しかし、これはすべてのパーティクルを同時に前後に移動させますが、私は正弦波のように動かして、各パーティクルが前のパーティクルの少し後ろに移動するようにしたいと考えています。

答えて

1

ループ内の各パーティクル間にある種のオフセットを追加する必要があります。

例:

for(int i=0; i < 360; i++){ 
     float x = 1 + i; 
     float y = (float)(Math.sin(Math.toRadians(i+currentOffset))); 
     bridge.particles.get(j).setTransform(x, y, 0); 
} 
currentOffset+=1; 
関連する問題