【Unity 2D】2Dユニティちゃんのデモゲームを勉強する-タイトル編

  • |
【Unity 2D】2Dユニティちゃんのデモゲームを勉強する-タイトル編
   

Unity界隈では話題の「ユニティちゃん」に手を出してみました。


今回からは[2Dユニティちゃん]に付属しているデモゲームのスクリプトなどを勉強していきたいと思います。
第2回目は「タイトル」編です。

【過去回】
【Unity 2D】2Dユニティちゃんのスクリプトを勉強する-その1 | albatrus.com
【Unity 2D】2Dユニティちゃんのスクリプトを勉強する-その2 | albatrus.com
【Unity 2D】2Dユニティちゃんのスクリプトを勉強する-その3 | albatrus.com
【Unity 2D】2Dユニティちゃんのデモゲームを勉強する-壊れるブロック編 | albatrus.com

BGM

BGMを流す場合、[Audio Source]コンポーネントをGameObjectに追加をします。
[Audio Clip]の音楽ファイルを指定するだけです。
2014-910-5-fds.png


ループ

Scene[Start]には、ユニティちゃんが移動すると「ループ」するエリアがあります。
2014-10-5-ddasa


この実装は以下のコードで行っています。
[OnTriggerEnter2D]を利用して、反対側のエリアにGameObjectを移動させています。
void OnTriggerEnter2D(Collider2D other){
        if (other.tag != "Player") return;

        var pos = to.transform.position;

        other.transform.position = new Vector2(pos.x + offsetX, other.transform.position.y);
}


GameSceneの移動

タイトルで必要な機能は、「ゲーム画面」へ移動させることです。
[StartController]スクリプトを見てみましょう。

キーボードのボタンを押す

今回は[x]のボタンを押した時に、画面が移動するようにします。
その際のボタンの割り当ては以下のコードで行っています。
//KeyCode.※※※で指定
if(Input.GetKeyDown(KeyCode.X)){


	StartCoroutine(LoadNextLevel());

}

[SceneName]と[SerializeField]

今回のスクリプトでよくわからない所が、今回の[SceneName][SerializeField]でした。

[SceneName]
public string  nextLevel;

[SerializeField]
public KeyCode  pressButton = KeyCode.X;


2014-10-5-fgfds

[SerializeField]

privateの変数でも[Inspector]で値の選択ができるようになります。
【参考】
Unity – Unity Manual

[SceneName]

[SceneNameAttribute.cs]でエディタを拡張すると利用できるのみたいです。
プロジェクトで設定されているSceneを選ぶことができます。
詳しくは、下記サイトから。
【参考】
知って得するUnity エディタ拡張編

全てのGameObjectからコンポーネントを取り出す

BGMの音量を小さくしている実装で利用されています。
[AudioSource]というコンポーネントを探して、音量を小さくしています。
foreach(AudioSource audios in FindObjectsOfType<AudioSource>()){
   
   audios.volume = 0.2f;

}


最後に

今回は短い内容でしたがここまでです。
次回はメインのゲームの中から勉強をしたいと思います。

ゲーム作りのはじめかた Unityで覚える企画からレベルデザインまでゲーム作りのはじめかた Unityで覚える企画からレベルデザインまで
あすな こうじ

SBクリエイティブ
売り上げランキング : 26909

Amazonで詳しく見る

Related Posts Plugin for WordPress, Blogger...