ドラッグなど

by Oe

2025-06-16 22:55:40

sketch.js

let x = 300;
let y = 300;
let r = 100;
let dragging = false; //ドラッグ中か判定

function setup() {
  createCanvas(600, 600); //ウィンドウサイズの指定
  background(0, 0, 0); //背景色を指定して1回だけ塗る。
}

function draw() {
  background(0, 0, 0);
  noStroke();
  fill(0, 200, 100);

  let kyori = dist(x, y, mouseX, mouseY);
  if (kyori < r) {
    r += 1;
  } else {
    r = r + (100 - r) / 30.0; //円の半径をふわっと元に戻す
  }

  if (dragging == true) {
    background(255, 0, 0);
    fill(255, 255, 0);
    x = x + (mouseX - x) / 20.0;
    y = y + (mouseY - y) / 20.0;
  }

  if (kyori < r) {
    circle(x + random(-10, 10), y + random(-10, 10), r * 2);
  } else {
    circle(x, y, r * 2);
  }
}

function mousePressed() {
  //マウスのボタンが押し下げられた時の処理
  dragging = false;
  let kyori = dist(x, y, mouseX, mouseY);
  if (kyori < r) {
    dragging = true; //draggingをtrueに変える
  }
}

function mouseReleased() {
  //マウスのボタンが離された時の処理
  dragging = false;
}

function keyPressed() {
  if (key == "s") {
    saveCanvas();
  }
}

ファイル一覧

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

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


サムネイル画像を変更