0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unityでスイカゲームを作ってみよう

Last updated at Posted at 2024-02-23

スイカゲームとは?

image.png

必要なもの

  • フルーツ
  • 動き
  • 同じフルーツが重なるプログラム
  • 得点

作ってみよう

箱は、上と左右に四角形があればいけそうですね。

例えば、2Dオブジェクトのスクエアを3つ用意して、下記に設定。

Bottom:
    Position: X = 0, Y = -4.7, Z = 10
    Rotation: X = 0, Y = 0, Z = 0
    Scale: X = 7, Y = 0.3, Z = 1
Left:
    Position: X = -3.5, Y = -0.7, Z = 10
    Rotation: X = 0, Y = 0, Z = 0
    Scale: X = 0.3, Y = 8.3, Z = 1
Right:
    Position: X = 3.5, Y = -0.7, Z = 10
    Rotation: X = 0, Y = 0, Z = 0
    Scale: X = 0.3, Y = 8.3, Z = 1

雲は、2Dオブジェクトのキャプシュールを使ってみます。下記のように設定。

Cloud:
    Position: X = 0, Y = 4.25, Z = 10
    Rotation: X = 0, Y = 0, Z = 0
    Scale: X = 1, Y = 0.3, Z = 1

スクリーンショット 2024-02-23 17.13.01.png

上記のようになっていればOK。
ちょっと味気ないので、色をつけたり、画像にしたりすると良いかもしれません!

上の雲を動かすプログラム

MoveRightAndLeft.cs
    public int speed = 10;

    void Update()
    {
        if (Input.GetKey(KeyCode.RightArrow))
        {
            transform.Translate(speed * 1 * Time.deltaTime, 0, 0);
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            transform.Translate(speed * -1 * Time.deltaTime, 0, 0);
        }
    }

GetKey は押されている間。
Time.deltaTime は一回の動作にかかった秒数です。

果物の落下

コンポーネントを追加から Physics 2DRigidbody 2D を追加。

あと、箱と触る判定も入れたいので、Circle Collider 2D も追加。

果物の出現

SpawnFruits.cs
    public GameObject[] fruits;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            Instantiate(fruits[Random.Range[0, 3], this.transform.position, this.transform.rotation);
        }
    }

GetKeyDown は押された時。

あと何かある?

同じ果物同士がぶつかった時のスクリプト

FruitsCollide.cs
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (this.gameObect.name == collision.gameObject.name)
        {
            Destory(this.gameObject);

            collision.gameObject.GetComponent<FruitsCollide>().upgrade = null;

            if (upgrade)
            {
                Instantiate(upgrade, this.transform.position, this.transform.rotation);
            }
        }
    }

unityroom へ公開

▼資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?