見出し画像

【Unity C#】キャンディークラッシュ風マッチ3パズルの作り方 #2 スクリプト作成


このレクチャーでは
2つのスクリプトの作成と、フィールドの初期化
の処理を作っていきます


TileController作成

Assets > Tileを選択して
Add ComponentからTileControllerと入力して
New script > Create and Add
で新規のスクリプトを追加していきます

このスクリプトはタイルの移動や
消えた時の後処理等を後ほど書いていきます


MatchPuzzleSceneDirector作成

Hierarchyを右クリックしてCreate Emptyを選択して
オブジェクト名をMatchPuzzleSceneDirectorにします

Add ComponentからMatchPuzzleSceneDirectorと入力して
New script > Create and Add

で新規のスクリプトを追加して、ダブルクリックで開いていきます


ゲーム全体で使う変数の定義

まずはゲームのルールに関する定義を書いていきます
全てSerializeFieldでエディタ側から簡単に変更できるようにしています

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;

public class MatchPuzzleSceneDirector : MonoBehaviour
{
    // 変更可能なゲームルール
    // フィールドサイズ横
    [SerializeField] int fieldWidth;
    // フィールドサイズ縦
    [SerializeField] int fieldHeight;
    // 〇個揃うと消える
    [SerializeField] int matchColorCount;
    // 加算スコア
    [SerializeField] int deleteScore;
    // 制限時間
    [SerializeField] float gameTimer;

    // 背景
    [SerializeField] SpriteRenderer field;
    // タイルのプレハブ
    [SerializeField] TileController prefabTile;
    // 時間
    [SerializeField] TextMeshProUGUI textGameTimer;
    // スコア
    [SerializeField] TextMeshProUGUI textGameScore;
    // コンボカウント
    [SerializeField] TextMeshProUGUI textCombo;
    // ゲーム終了画面
    [SerializeField] GameObject panelResult;
    // ゲーム終了画面のスコア
    [SerializeField] TextMeshProUGUI textResultScore;
    // Audio
    [SerializeField] AudioClip seDelete;

    // フィールドデータ
    TileController[,] fieldTiles;

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

解説

ここから先は

2,168字 / 2画像

この記事が参加している募集

ゲームの作り方

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