Oops! It appears that you have disabled your Javascript. In order for you to see this page as it is meant to appear, we ask that you please re-enable your Javascript!

unity

unityでターン制のゲームを作るにはコレを使いましょう

投稿日:

Pocket

うも、チャーさんです。

あなたはunityでターン制ゲームを作りたい

そう思っていませんか?

 

この記事ではunityでターン制のゲームを

作る方法を書いています。

 

なのであなたがこの記事を読めば、

unityでターン制を実現できますよ。

 

 

ということでunityでターン制ゲームを作りたい

と思っているなら、このまま下にスクロールして

読んでみてください。

 

スポンサードサーチ

unityでターン制ゲームを作るなら

 

ということで結論からなんですけど、

unityでターン制のゲームを作りたければ、

 

boolを(真偽値)を使いましょう。

 

そうすればターン制のゲームを作ることが

できます。

 

 

その理由ですが、boolはあなたがご存知の通り、

真偽値(trueかfalse)をとることができます。

 

なので、例えば、

public bool turn;

などの変数を作っておき、

 

turn= true;

の時はプレイヤーが行動できるようにし、

 

 

turn=false;

 

の時には敵が行動できるようにするなど

をすればunityでターン制のゲームを

作ることができるのです。

 

 

しかしこれだけでは具体的にイメージが

湧きづらいと思うので僕が実際ターン制ゲーム用に

書いたコードも載せますね。

 

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

public class gridMove : MonoBehaviour {

    public bool playerTurn;
    // Use this for initialization
    void Start () {
        playerTurn = true;

    }
    
    // Update is called once per frame
    void Update () {
        
        if (playerTurn == true) {

            if (Input.GetKeyDown (KeyCode.UpArrow)) {
                transform.position = transform.position + new Vector3 (0, 0, 1);
                playerTurn = false;
            }

        }
    }
}

 

上記はコードの抜粋ですがこんな感じでして、

boolの変数を作っておき、

 

プレイヤーが行動できるのは

boolの変数がtrueの時のみ、

 

そして行動終了後には、真偽値をfalseに

書き換える。

 

 

そして敵が行動したらまたboolの変数を

trueに書き換える。ということをする形です。

 

上記のコードでいうならば、

 if (playerTurn == true) {

}

 

がプレイヤーのターンでして、

 

  if (Input.GetKeyDown (KeyCode.UpArrow)) {
                transform.position = transform.position + new Vector3 (0, 0, 1);
                playerTurn = false;
            }

 

の部分が上キーを押すと移動したのちに、

boolの真偽値をfalseにして、

敵のターンにする。

 

という形ですね。

 

 

実際敵の行動を作るには、

この際にboolの変数がfalseだったら

というif文を使って行動内容を記述することになりますが、

 

unityでターン制のゲームを作る

大枠の概念は上記のような形です。

 

 

とにかく肝な部分はboolで真偽値を使う

とこでして、これを使うとターン制が可能です。

 

 

スポンサードサーチ

unityでターン制ゲームを作る手順

 

でここからは具体的な手順についてお話します。

 

オブジェクトを用意

 

まずはプレイヤーと敵それから、

空のオブジェクトを作りましょう。

 

終わってたらスキップしましょう。

 

空オブジェクトにスクリプトつけて記述しましょう

 

次に空のオブジェクトにスクリプトを

つけ、スクリプト内の記述にはboolの変数を宣言しましょう。

 

private bool turn;

 

 

ちなみに空オブジェクトにスクリプトをつける理由ですが、

単純にboolの記述がまとめやすいからです。

 

 

プレイヤーと敵にそれぞれスクリプトつけて、

相手のスクリプトを取得してboolを切り替える

みたいなのも考えれなくないですが、

 

スクリプト数が増えますし、

管理が面倒になるので、1つのスクリプト

にまとめることを本記事ではお勧めします。

 

 

敵とプレイヤーのオブジェクトを取得

 

で次に敵とプレイヤーのオブジェクトを

取得しましょう。

 

理由は、別のオブジェクトから、

敵とプレイヤーのオブジェクトを動かすためです。

 

取得の方法は以下の記事を参照してください。

 

unityで他のオブジェクトを取得する方法

 

ターン性を実装しましょう

 

そして、次にif文で、

turn==trueの時(プレイヤーターン)

とturn==falseの時を用意し、

 

あとはその中にプレイヤーと敵に

させたい行動内容を記述していきましょう。

 

 

そしてどちらもですが、

行動したらturn= のとこを相手の真偽値に

書き換える記述を書いときましょう。

 

 if (Input.GetKeyDown (KeyCode.UpArrow)) {
                //行動内容の記述
                turn = false; //これで←行動したら相手のターンになる。
            }

 

という感じです。

 

 

ちなみに敵の場合はこれの逆の記述を入れます。

turn = true;

(trueにするプレイヤーが動けるようになる)

 

あとはあなたが敵とプレイヤーに

どんな行動をさせるか次第ですが、

上記でターンを切り替えながら行動させれますよ。

 

 

スポンサードサーチ

まとめ

 

ということでまとめに入ります。

 

unityでターン制ゲームを作るには

bool(真偽値)を使いましょう。

 

そうすれば、

プレイヤーと敵が交代交代

で行動できるターン制ゲームを作れます。

 

 

ので、あなたがターン制ゲームを作りたいなら、

本記事の内容を参考にしてやってみてください。

 

それでは、読んでもらってありがとうございました。

 

チャーさん

 

 

 

-unity

スポンサードサーチ

関連記事

no image

unityで敵を移動させる方法(詳細にわかりやすく説明します)

どうも、チャーさんです。   あなたはunityで敵を移動させたい、 そう思っていませんか?   コライダーなどでもできるが、他の方法が ないかと探してませんか?   & …

no image

unityで地形を作る方法「初心者でもできるように丁寧に説明してます」

どうも、チャーさんです。   あなたはunityでいい感じの地形を作りたい。 でも、やり方がわからない。と悩んでいませんか?   この記事では、unityで地形を作る方法を、 ステ …

no image

unityで攻撃に当たり判定をつける方法

どうも、チャーさんです。 あなたはunityで攻撃に当たり判定をつけたいですか?   この記事では、当たり判定をつける 方法を書いてるので、読めば当たり判定をつけれます。   とい …

no image

unityで敵に近づくと追いかけてくるコードとコードの解説記事

どうも、チャーさんです。   あなたはunityで敵に近づくと、 プレイヤーを追いかけてくるという機能を つけたいと思っていませんか?   この記事ではそれを実現するコードと方法や …

no image

unityでカメラを追従させる簡単なコードと方法の説明をする記事

  どうも、チャーさんです。   あなたはunityでカメラの追従をさせたい、 こう思ってませんか?   この記事ではオブジェクトをカメラで追従させる、 (カメラが追いか …

no image

unityで他のオブジェクトを取得する方法

どうもチャーさんです。   あなたはunityで他のオブジェクトを 取得したいがわからず困ってますか?   この記事では、unityで他のオブジェクトを 取得する方法を書いてます。 …

no image

unityで矢印キーでオブジェクトを移動させるには(3d)

どうも、チャーさんです。 あなたはunityで矢印キーで3dオブジェクトを 移動させたいですか?   この記事では矢印キーによる3dオブジェクトの 移動を実現する方法を書いてるので、 読めば …

no image

unityでオブジェクトを回転させる方法「1分でできます」

どうも、チャーさんです。   あなたはunityでオブジェクトを回転させたいですか?   unityでゲームなど作るとオブジェクトを 回転させたい場面がありますよね。   …

no image

unityでのダンジョンの簡単な作り方(コードコピペで作れます)

どうも、チャーさんです。   あなたは、unityでダンジョンを作りたいと 思っていませんか?   この記事ではunityでのダンジョンの作り方を 説明してまして、本記事を読めば …

no image

Unityでオブジェクトに重力を1分以内につける方法

  どうも、チャーさん(@chaa___san)です。   あなたはUnityでオブジェクトに重力をつけたいですか?   この記事ではUnityでオブジェクトに、 重力を …

no image

unityでキー入力で攻撃する方法(3分以内にできます)

どうも、チャーさんです。   あなたはunityでキー入力による攻撃を したいですか?   この記事ではunityでキー入力で攻撃を する方法を書いてますので、あなたがこれを読めば …

no image

[unity]foreach内でget componentを使う方法

どうも、チャーさんです。   この記事ではunityのforeachループで get componentする方法を書きます。     なのでこの記事を読めば、 &nbsp …

no image

unityアセットの使い方を初心者でもわかるように説明。

  どうも、チャーさんです。   あなたはunityのアセットの使い方が、 わからず困ってませんか?   この記事ではunityのアセットの使い方を、 1から説明してます …

no image

blenderで作ったモデルをunityにインポートする方法「簡単です」

どうも、チャーさんです。   あなたはblenderで作ったものを、 unityで表示(インポート)したいと、 思っていませんか?   この記事では、あなたが作ったblenderの …

no image

unity上でblender作成モデルが透ける時の解決法

どうも、チャーさんです。   あなたはunityにblenderで作ったモデルを 持ってきたものの、面が透ける現象が起こって 困っていませんか?     この記事は、透け …

最新記事

チャーさん

プログラミング・筋トレ・unity系の記事などを書いてます。

大学卒業後→開業→個人事業主7年目ぐらいです。webサイト制作したり、unityでゲーム開発しております。

youtubeもやってまして、主にプログラミング動画とかunity系の動画をあげてるので見てください。