Unity2D入門 スクロールアクションゲームを作る ~ゲームクリアを作る~
さぁこのクソゲーもそろそろ一区切りつきそうです。 今回はゴールを作りゲームクリアさせようと思います。
ゴールSpiriteを作る
いつものようにこんな物をつくってもらいました。
これにColliderを追加しておきましょう。
ついでに位置も調整しておきます。
ゴールにぶつかったらオブジェトの動きを止めてゲームクリア!!とテキストを出したいのです。
なのでGUIテキストを作成しておきます
Hierarchy > GUI Text で作ります
位置を調整したらPixel Offsetのxを400と指定しておき画面から外します。 ゲームクリアした際にこの文字が左がからスライドしてゲームクリアしてくるようにする為です。
ゲームクリア演出スクリプトを作る
goal.cs
using UnityEngine; using System.Collections; public class goal : MonoBehaviour { public GameObject guitext; public bool is_goal = false; // Use this for initialization void Start () { } // Update is called once per frame void Update () { if(is_goal){ if(guitext.guiText.pixelOffset.x > 1){ guitext.guiText.pixelOffset -= new Vector2(10.0f, 0); } Time.timeScale = 0; } } void OnTriggerEnter2D(Collider2D col) { if(col.gameObject.tag == "Player"){ is_goal = true; } } }
さて実際エミュレートしてみましょう
これでゲームクリアできました。
Time.timeScale = 0; これで他のオブジェクトの動きをポーズさせる事ができます。
感想
一旦この処理でゲームとしては一区切りです。
モーションデータを個別に分けてアタッチしたり、敵の動きに範囲を儲けたり、
その他バグの修正なども残っていますが、横スクロールアクションゲームを作ってみる為の
ノウハウは詰めたかと思います。次回は通信関連の方をもう少し掘り下げていきたいと思います。