読者です 読者をやめる 読者になる 読者になる

転がる先の杖

サラリーマンの傍、自力で食っていけるよう奮闘し、己を磨く日々を綴ります。 スノボの大会出場を目指し、オフトレに精を出してます!

ゴールエリアを作成

スポンサーリンク

ゴールエリアを作成

Unityで制作中のゲームにて、ゴールエリアを作ってみた

 

実装した事

・ゴールエリアを作った

・ゴールエリアに入ったら50点加わる

・ゴールエリアに入り、3秒たったらスタート画面に移行する

 

using UnityEngine;
using System.Collections;

 

public class goalscript : MonoBehaviour {

 

 public GUIText scoreGUI;
 public GameObject clearGUI;
 public GameObject totalscore;
 public GUIText totalscoreGUI;

 

 void OnTriggerEnter2D(Collider2D col){ 

   //すり抜けでゴールエリアを判定

  if (col.gameObject.tag == "goal"){
   scoreGUI.SendMessage("AddScore",50);

   //スコアに50点加える
   clearGUI.SetActive(true);
   totalscore.SetActive(true);
   Invoke("BackToTitle", 3); 

    //3秒後にBackToTitleを呼び出す

     }
   }

  void BackToTitle() {
    Application.LoadLevel("startscene");
   }
 }

 

これでアクションゲームとしては、一応形にはなった。後は、2面を追加したり、敵キャラが動く、プレイヤーの攻撃、動く足場、などなどの要素を加えれば、自分のやりたい内容に近づいていく。

 

ちなみに、上のスクリプトで上手くいくまで、悩みに悩んで結局できずじまいだった時のスクリプトはこれ。

 

using UnityEngine;
using System.Collections;

 public class goalscript : MonoBehaviour {

 

 public GUIText scoreGUI;
 public GameObject clearGUI;
 public GameObject totalscore;
 public GUIText totalscoreGUI;

 

 void OnTriggerEnter2D(Collider2D col){

  if (col.gameObject.tag == "goal"){
   scoreGUI.SendMessage("AddScore",50);
   clearGUI.SetActive(true);
   totalscore.SetActive(true);

     }
  }

 

 private IEnumerator (){

  yield return new WaitForSeconds(3f);
  Application.LoadLevel("startscene");

   }

  }

}

IEnumerator の後ろに何か変数名を入れればよかったとの事。自分一人では数時間調べて考えても解決できなかった。

 

助けて頂き本当にありがとうございました。一人の力では何時間と途方にくれ、それでも解決できなかったりだが、仲間のおかげで前に進める。

 

やり方はサイトで調べたけど、それを応用して使うという所でなにかと詰まり、挫折してしまいがち... やりたい処理の仕方自体はネットでいくらでも調べられるんだけどね...

qiita.com

 

自分も誰かを助けてあげられるようになろう。