0923

by オウシュウディ

2024-09-23 18:16:27

sketch.js

let num = 50; //配列の数として使う変数
let x = new Array(num); //xという配列を作る
let y = new Array(num);
let susumuX = new Array(num);
let susumuY = new Array(num);

function setup() {
  createCanvas(600, 600); //ウィンドウサイズの指定
  background(0, 0, 0); //背景色を指定して1回だけ塗る。
  for (let i = 0; i < num; i = i + 1) {
    x[i] = random(0, width); //0からwidth
    y[i] = random(0, height);
    susumuX[i] = random(-20, 10);
    susumuY[i] = random(-10, 10);
  }
}

function draw() {
  background(122, 199, 188); //背景色を指定して1回だけ塗る。
  for (let i = 0; i < num; i = i + 1) {
    noStroke();
    fill(233, 78, 123);
    let kyori = dist(mouseX, mouseY, x[i], y[i]);
    if (kyori < 50) {
      fill(0, 0, 0);
      // circle(mouseX, mouseY, 100);
      //let kakudo = atan2(y[i] - mouseY, x[i] - mouseX);
      let kakudo = atan2(mouseY - y[i], mouseX - x[i]);
      susumuX[i] = susumuX[i] + cos(kakudo);
      susumuY[i] = susumuY[i] + sin(kakudo);
    }
    circle(x[i], y[i], 100); //円を描く
    x[i] = x[i] + susumuX[i];
    y[i] = y[i] + susumuY[i];
    if (x[i] > width) {
      susumuX[i] = susumuX[i] * -1;
    }
    if (x[i] < 0) {
      susumuX[i] = susumuX[i] * -1;
    }
    if (y[i] > width) {
      susumuY[i] = susumuY[i] * -1;
    }
    if (y[i] < 0) {
      susumuY[i] = susumuY[i] * -1;
    }
  }
}

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

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

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

ファイル一覧

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

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


サムネイル画像を変更