1,2,3でRGB、上下矢印で加速、カーソルで謎の円

by かなめ

2025-06-02 18:09:44

sketch.js

let x = 300;
let y = 300;
let speedX = 8; // スピードを大幅にUP
let speedY = 6;
let iroMode = 1;

function setup() {
  createCanvas(600, 600);
  background(0);
}

function draw() {
  background(0, 30); // 少しだけ透明度を上げて残像感UP

  noStroke();

  let r, g, b;
  if (iroMode == 1) {
    r = random(200, 255);
    g = random(50);
    b = random(50);
  } else if (iroMode == 2) {
    r = random(50);
    g = random(200, 255);
    b = random(50);
  } else if (iroMode == 3) {
    r = random(50);
    g = random(50);
    b = random(200, 255);
  }

  fill(r, g, b, 180); // 少し透明に
  ellipse(x, y, 80 + random(-8, 8), 80 + random(-8, 8));

  // 動き
  background(0, 0, 0, 10); //背景色を指定して1回だけ塗る。
  noFill();
  stroke(255, 0, 0);
  circle(x, y, 100);
  x = x + speedX; //「x」に「speedX」の値を足す
  y = y + speedY; //「y」に「speedY」の値を足す
  if (x > 600) {
    speedX = speedX * -1;
  }
  if (x < 0) {
    speedX = speedX * -1;
  }
  if (y > 600) {
    speedY = speedY * -1;
  }
  if (y < 0) {
    speedY = speedY * -1;
  }
  circle(mouseX, mouseY, 10);
}

function mousePressed() {
  //マウスのボタンが押し下げられた時の処理
  circle(mouseX, mouseY, 100);
}

function keyPressed() {
  if (key === "1") iroMode = 1;
  if (key === "2") iroMode = 2;
  if (key === "3") iroMode = 3;
  if (keyCode == UP_ARROW) {
    speedY = speedY - 5;
  }
  if (keyCode == DOWN_ARROW) {
    speedY = speedY + 5;
  }
  if (key === "s") saveCanvas();
}

ファイル一覧

  • index.html
  • p5.min.js
  • p5.sound.min.js
  • sketch.js
  • style.css

ファイルを再アップロード


サムネイル画像を変更