キャッチゲームの基本の動き

アフィリエイトリンクが含まれてます

前回は、プレイヤーを動かすところまでやりました。⤵️

今回は、アイテムも落ちてくるところまでやってみるよ😉

✅ プレイヤーは左右に動く
✅ アイテムは上から下に落ちる

let player;
let item;
let itemSpeed = 3;

function setup() {
  createCanvas(400, 400);
  
  // プレイヤーの初期位置
  player = {
    x: width / 2,
    y: height - 30,
    size: 40
  };
  
  // アイテムの初期位置
  item = {
    x: random(width),
    y: 0,
    size: 20
  };
}

function draw() {
  background(220);
  
  // プレイヤーを描画
  fill(0, 0, 255);
  rectMode(CENTER);
  rect(player.x, player.y, player.size, player.size);
  
  // アイテムを描画
  fill(255, 0, 0);
  ellipse(item.x, item.y, item.size);
  
  // アイテムを落とす
  item.y += itemSpeed;
  
  // アイテムが画面の下に行ったら上から再生成
  if (item.y > height) {
    item.y = 0;
    item.x = random(width);
  }
  
  // プレイヤーの移動
  if (keyIsDown(LEFT_ARROW)) {
    player.x -= 5;
  }
  if (keyIsDown(RIGHT_ARROW)) {
    player.x += 5;
  }
  
  // 画面の外に出ないようにする
  player.x = constrain(player.x, player.size / 2, width - player.size / 2);
}

コードをコピペして貼り付けてね👍

広告

コードが長くなってきたね。😅

再生ボタンを押して、動きを確認してみて👍😉

ちゃんと動きましたねー!😊

解説

  • setup() でプレイヤーとアイテムの初期位置を設定
  • draw() でプレイヤーを動かし、アイテムを落とす
  • アイテムが下まで落ちたら、ランダムな位置で再生成
  • keyIsDown() を使ってプレイヤーを左右に移動

色の変え方

プレイヤーの色    fill(0, 0, 255);

アイテムの色   fill(255, 0, 0);

背景色(薄いグレー)  background(220); 

   background() は、キャンバス全体の背景色を決める

   220グレーの明るさ(0が黒、255が白)

色を変えたいなら、この fill(R, G, B); の値を好きな数に変えてみるといいよ!🎨✨

次回は、当たり判定を実装します。