見出し画像

Unityで『あっちむいてホイ』を作ったので復習します!【ゲーム制作記11】

はじめに

今回は、以前紹介をした『あっちむいてホイ』の中身を紹介しつつ、復習していきます!
作り方をイチから全て説明!はできなかったのですが、スクリプトの紹介をしています!コピペしてちょちょいと作業すれば作れるはずです……!

(『あっちむいてホイ』の紹介記事はこちらです▼)

動作環境は

  • macOS

  • Unity 2021.3.0f1

です。
よろしくお願いします!


ゲーム画面で用意したもの

このように用意しました!

「Canvas」に、背景・キャラクターの通常表情・体の画像
「ButtonCanvas」に、上下左右の矢印ボタン
「Win」「Lose」に、透明度を下げたパネル、中央のテキスト、ボタン2種類
「GameObject」はスクリプトをつけています。

通常画面
勝利画面

スクリプトの紹介

今回あっちむいてホイを作るためにやりたかったことは、

①ランダムで、キャラクターが上下左右を向いた画像を表示する
②表示された画像とプレイヤーが予想した方向が同じだったら勝利、異なっていたら敗北と表示する

の2つです!

スクリプトは空のゲームオブジェクトを作成し、追加しました。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Game : MonoBehaviour
{
    //ランダム
    public GameObject[] Train;
    private int number;

    public GameObject Normal;
    public GameObject Win;
    public GameObject Lose;

    //2度押し禁止
    private bool firstPush = false;

//ボタンがクリックされたらメソッド
    public void Down()
    {
        if (!firstPush)
          {
            firstPush = true;
            Normal.gameObject.SetActive(false);
            //顔の向きをランダムに表示する
            number = Random.Range (0, Train.Length);
            Instantiate(Train[number],transform.position,transform.rotation);
            //同じ向きだったら勝利
            if (number == 0){
                Win.gameObject.SetActive(true);
            } else {
                Lose.gameObject.SetActive(true);
            }
        }
    }

(2度押し禁止のスクリプトは、れーさんのこちらの記事で紹介されているものを使わせていただきました!すごく大切な機能だなと思って、他のゲームでもちょこちょこ使用しています。ありがとうございます!)

ランダムでオブジェクトを表示する方法として、今回は「Train」を使ってみました!

画像は上下左右の4通りを用意したかったので、プラスボタンを押してElementの数を4つに。画像はプレハブ化してアタッチします。

このようになります!

その下には、ボタンが押された時に呼び出したいメソッドを書きました!

これがボタンです!

ほとんど同じなので省略していますが、実際はその下にさらに上と左右用のメソッドも書いています。
変更するべき点は1点だけです!

if (number == 0){
  Win.gameObject.SetActive(true);
   }

この部分です。「number」に代入する数字を変更します。
Trainでアタッチした数字と対応させましょう!

最後に

最後まで見ていただき、ありがとうございました!
また次回の記事でお会いしましょう!

この記事が気に入ったらサポートをしてみませんか?