一方向の直線運動…ひとつ(軌跡なし)
ひとつの円が、水平に一定速度で運動します。 リスト2-2と同じです。右端へ消えたら、左端から現れるようにするために、 リスト2-2と同様にif文を使っています。
if(x>=width+d/2) { //画面の幅+半径分より右に来たら x=-d/2; //左の壁の外側に置く }違いは、円の左端が完全に右壁に消えた後に、左壁の中から再び出てくるように、xの値がwidth+d/2以上になったらxの値を-d/2にしているところです。
クリックで停止⇔再開
【リスト Straight1】 float s = 3; // 移動速度 float x; // 位置(x座標) float d = 10; // 円の直径 void setup() { size(150, 150); //描画するための画面 fill(0); } void draw() { background(255); //画面の背景を白でクリア x = x+s ; // 位置を変化 if(x>=width+d/2) { x=-d/2; //左の壁の外側に置く } ellipse(x, height/2, d, d); }