箱を積み上げるシンプルな落ち物ゲーム(StackBox)Part1.箱を生成する|Unityゲーム制作

箱を積み上げる簡単な落ち物ゲームをUnity6で作成してみます。

ミニゲーム的な感じで、初めてUnityでゲームを作る人でも出来る内容です。

はじめに

今回作成するのは「上空で箱が左右に動く」、「タイミングよくタッチして箱を落として積み上げる」シンプルなゲームです。下記が完成形のゲームです。

練習的なミニゲームとして作成していきます。

Unityのバージョン

今回は「Unity 6」のバージョン「6000.0.39f1」で作成していきます。OSはWindows11です。

UnityHubから「新しいプロジェクト」を選択。テンプレートは「Universal 2D」を選択、プロジェクト名は「StackingBoxTower」としています。

作成開始

第1回目は箱の生成と、箱の自然落下まで実装していきます。

画面サイズを設定

画面を縦型にするのでGameタブの「FreeAspect」を選択して、「+」ボタンからアスペクト比「9:16」を作成して変更します。

箱と土台

Hierarchyの「+」から「2DObject」→「Sprites」→「Square」を2つ追加します。

「Square」一つ目は土台にします。名前をGroundに変更してPosition、Scale、色を変更します。

「AddComponent」から「BoxCollider2D」を追加。「Collider」というのは衝突という意味で、箱形の衝突判定の枠を設置しています。

下記のような台になります。

「Square」二つ目は上から落とす箱にします。名前をBoxに変更、同じように「BoxCollider2D」を追加。更に「Rigidbody2D」も追加します。「Rigidbody」は物理的な制御(上から落ちる)を行います。

これで箱と土台が完成です。ゲーム画面が下記のような感じならOK。

箱を生成して落とす

作成した箱をスクリプトで生成して落としてみます。

Projectフォルダ内に「Prefabs」というフォルダを作成します。(Assetsを選択し右クリック「Create」から「Folder」で作成できます)

BoxをPrefabsフォルダに移動します。移動したらHierarchyにある元のBoxは削除します。

Hierarchyで「+」からCreateEmptyを選択して空のオブジェクトを作成。名前を「GameManager」に変更します。

Projectフォルダ内にScriptsフォルダを作成します。

Scriptフォルダ内で右クリックして、「Create」→「Scripting」→「MonoBehaviour Script」を選択してGameManagerという名前でスクリプトを作成します。

作成したスクリプトをGameManagerに追加します。

スクリプトを開いて、下記に変更して保存します(Updateは削除します)。

using UnityEngine;

public class GameManager : MonoBehaviour
{

    [SerializeField] private GameObject boxPrefab;
    [SerializeField] private Transform boxPosition;

    void Start()
    {
        Instantiate(boxPrefab, boxPosition.position, Quaternion.identity);
    }
}

スクリプト内容の簡単な解説

  • Instantiateで指定した位置(boxPosition)にboxPrefabを生成。

Instantiateの詳細は下記公式リファレンスが参考になります。

箱の生成位置を指定する

箱の生成位置を指定します。

Hierarchyの「+」からCreateEmptyで空のオブジェクトを追加します。

名前を「BoxPosition」に変更して、Positionを箱を生成したい位置に変更します。

GameManagerのパラメータにBoxのプレハブと箱の生成位置をセットします。

画面上の「再生マーク」を押して下記のように「箱が生成」されて「落下」すればOKです。

タイトルとURLをコピーしました