【Unity2D 入門】横スクロールアクションゲームを作ってみたい -ゲームクリア作成

raharu(仮名)(プログラマー)
これがダイバージェンス1%の先の世界か。。。

さぁこのクソゲーもそろそろ一区切りつきそうです。 今回はゴールを作りゲームクリアさせようと思います。

ゴールSpiriteを作る

f:id:raharu0425:20140123102200p:plain

いつものようにこんな物をつくってもらいました。

これにColliderを追加しておきましょう。

f:id:raharu0425:20140123102416p:plain

ついでに位置も調整しておきます。

ゴールにぶつかったらオブジェトの動きを止めてゲームクリア!!とテキストを出したいのです。

なのでGUIテキストを作成しておきます

Hierarchy > GUI Text で作ります

f:id:raharu0425:20140123102651p:plain

位置を調整したら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;
}
}
}

さて実際エミュレートしてみましょう

f:id:raharu0425:20140123103206p:plain

これでゲームクリアできました。

Time.timeScale = 0;
これで他のオブジェクトの動きをポーズさせる事ができます。

感想

一旦この処理でゲームとしては一区切りです。
モーションデータを個別に分けてアタッチしたり、敵の動きに範囲を儲けたり、
その他バグの修正なども残っていますが、横スクロールアクションゲームを作ってみる為の
ノウハウは詰めたかと思います。次回は通信関連の方をもう少し掘り下げていきたいと思います。