0

私は一列に動く古典的なボールを持っています:

class Circle{
  float x,y,vx,vy,size;        

 Circle(float ax,float ay){
   x = ax;
   y = ay;
   size = 5;
   vx = random(-.1,.1);
   vy = random(-.1,.1);
}

void update(int w,int h){
   x += vx;
   y += vy;
   if(x < 0 || x > w) vx *= -1;
   if(y < 0 || y > h) vy *= -1;
 }

void draw(){
  pushStyle();
  noStroke();
  fill(0);
  ellipse(x,y,size,size);
  popStyle();
}

}

しかし、私はそれらが一列に移動したくありません。

不規則な曲線で動かしてほしい。何を追加できますか? ノイズ?罪?コス?

どうもありがとう。

4

2 に答える 2

0

このページをご覧ください。作業サンプルを使用して方程式を緩和するための簡単なガイド。時間または空間の曲線に同じ手法を使用できることに注意してください。

編集:ウェブサイトがフラッシュ用であると言うのを忘れていましたが、とにかく、私のようにフラッシュの知識がなくても理解できるほどシンプルです. また、コード例は簡単に適用できます。

于 2012-10-29T04:18:35.003 に答える
0

必要に応じて異なりますが、たとえば正弦曲線に従って移動する場合は、次のようにします。

class Circle{
    float x,y,vx,vy,size;
    float sinCtr = 0;

    // ...

    void update(int w,int h){
        x += vx;
        y = h/2 + 50 * Math.sin(sinCtr);
        sinCtr += 0.02;
    }
于 2012-10-29T05:41:20.753 に答える