矢印キー+数字キー

by otakio

2025-06-02 18:13:15

sketch.js

let x = 300; //円のx座標に使う変数
let speedX = 0; //円の進む距離
let y = 300; //円のy座標に使う変数
let speedY = 0; //円の進む距離
let iroMode = 1; //色モードの変数

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

function draw() {
  background(0, 0, 0, 10); //背景色を指定して1回だけ塗る。
  noStroke();
  if (iroMode == 1) {
    fill(255, 255, 0); //色モードに応じて色指定
  }
  if (iroMode == 2) {
    fill(255, 0, 255);
  }
  if (iroMode == 3) {
    fill(0, 255, 255);
  }
  circle(x, y, 100); //円を描く
  x = x + speedX; //xにspeedXを加える
  y = y + speedY; //yにspeedYを加える

  if (x > 600) {
    speedX = speedX * -1; //speedXにマイナスの値を入れる
  }
  if (x < 0) {
    speedX = speedX * -1; //speedXにプラスの値を入れる
  }
  if (y > 600) {
    speedY = speedY * -1; //speedYにマイナスの値を入れる
  }
  if (y < 0) {
    speedY = speedY * -1; //speedYにプラスの値を入れる
  }
}

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

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

function keyPressed() {
  if (key == "1") {
    iroMode = 1; //iroModeの値を変える
  }
  if (key == "2") {
    iroMode = 2;
  }
  if (key == "3") {
    iroMode = 3;
  }
  if (keyCode == UP_ARROW) {
    speedY = speedY - 1; //上キーでspeedYを減らす
  }
  if (keyCode == DOWN_ARROW) {
    speedY = speedY + 1; //下キーでspeedYを増やす
  }
  if (keyCode == LEFT_ARROW) {
    speedX = speedX - 1; //左キーでspeedXを減らす
  }
  if (keyCode == RIGHT_ARROW) {
    speedX = speedX + 1; //右キーでspeedXを増やす
  }
  if (key == "s") {
    saveCanvas();
  }
}

ファイル一覧

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

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


サムネイル画像を変更