記録

頑張って勉強したこと書くよ

PVector理解2

PVector pos;//position
PVector vel;//velocity,速さ
int r=50;

void setup() {
  size(960, 540);
  colorMode(HSB, 360, 100, 100);
  pos=new PVector(width/2, height/2);//初期化
  vel=new PVector(2, 3);
}

void draw() {
  background(220, 20, 20);
  fill(0, 100, 100);
  noStroke();
  ellipse(pos.x, pos.y, r*2, r*2);
  pos.add(vel);


  if (pos.x>width-r||pos.x<0+r) {
    vel.x=vel.x*-1;
  }
  if (pos.y>height-r||pos.y<0+r) {
    vel.y=vel.y*-1;
  }
}

今日はこれを起点としていろいろ発展させて作った。

【今日の勉強】
ベクトルの中には「位置[pos](x,y)」「移動方向や速さ[vel](Xspeed,Yspeed)」を意味することができる。
円の中心ではなく、端でバウンドさせようとするときはif文の条件に中心の座標-rを設定する(但しellipse(x,y,r×2,r×2)にする必要がある)
今日は久しぶりに1人勉強じゃなかったから楽しかった。 ここから発展したものはまた少しずつ書いていきたい。