float eSize = 40; //オブジェクトのサイズ float speedx = 5; //オブジェクトのスピード float speedy = 8; float speedx_1 = 10; //オブジェクトのスピード float speedy_1 = 14; float speedx_2 = 4; //オブジェクトのスピード float speedy_2 = 14; float sw =0; float x = 0; //オブジェクトのx座標 float y = 0; float x_1 = 0; //オブジェクトのx座標 float y_1 = 0; float x_2 = 0; //オブジェクトのx座標 float y_2 = 0; boolean mouseP; void setup() { size(400, 400); noStroke(); //輪郭を描かない sw = 0; } void draw() { background(255); // 軌跡を残す場合は、下の3行をON、backgoundをOFFにする /* fill(255, 50); //透明度のあるrectを描画 rect(0, 0, width, height); fill(0); //オブジェクトは黒 */ if (mouseP) { noFill(); } else { fill(0); } ellipse(x, y, eSize, eSize); //円を描く ellipse(x_1, y_1, eSize, eSize); //円を描く ellipse(x_2, y_2, eSize, eSize); //円を描く x += speedx; //x座標にspeedの値を足す y += speedy; //x座標にspeedの値を足す x_1 += speedx_1; //x座標にspeedの値を足す y_1 += speedy_1; //x座標にspeedの値を足す x_2 += speedx_2; //x座標にspeedの値を足す y_2 += speedy_2; //x座標にspeedの値を足す if (x >= width||x <=0) speedx =- speedx; //もし、xの値が画面の幅以上になったら、xを反転 if (y >= width||y<=0) speedy =- speedy; //もし、yの値が画面の幅以上になったら、yを反転 if (x_1 >= width||x_1 <=0) speedx_1 =- speedx_1; if (y_1 >= width||y_1<=0) speedy_1 =- speedy_1; if (x_2 >= width||x_2 <=0) speedx_2 =- speedx_2; if (y_2 >= width||y_2<=0) speedy_2 =- speedy_2; println(speedx); } void mousePressed() { x = 200; //オブジェクトのx座標 y = 200; x_1 =0; //オブジェクトのx座標 y_1 =0; x_2 = 200; //オブジェクトのx座標 y_2 = 0; speedx = 5; //オブジェクトのスピード speedy = 8; speedx_1 = 10; //オブジェクトのスピード speedy_1 = 14; speedx_2 = 4; //オブジェクトのスピード speedy_2 = 14; } void mouseMoved() { //マウスを動かすとすぴーどが早くなる if (speedx > 0) speedx += 0.1; //オブジェクトのスピード if (speedy > 0 ) speedy += 0.1; if (speedx < 0) speedx -= 0.1; //オブジェクトのスピード if (speedy < 0 ) speedy -= 0.1; if (speedx_1 > 0 ) speedx_1 += 0.1; //オブジェクトのスピード if (speedy_1 > 0 ) speedy_1 += 0.1; if (speedx_1 < 0 ) speedx_1 -= 0.1; //オブジェクトのスピード if (speedy_1 < 0 ) speedy_1 -= 0.1; if (speedx_2 > 0 ) speedx_2 += 0.1; //オブジェクトのスピード if (speedy_2 > 0 ) speedy_2 += 0.1; if (speedx_2 < 0 ) speedx_2 -= 0.1; //オブジェクトのスピード if (speedy_2 < 0 ) speedy_2 -= 0.1; }