大致上游戏运行是没问题了,但是缺少一个重要因素——计分。
在哪去实现呢?这里不得不又说一句,这个游戏是一堆触发器和碰撞器的集合。。。。
明白了吗?
请在每个Pipe1和Pipe2上添加一个BoxColider,然后这个碰撞器的位置放在管道口中间这个嘿嘿框框的位置,记得勾选IsTrigger让它成为一个触发器,然后上我们在Pipe.cs中添加几行代码就行了,也就是我上一篇没有解释的几行代码
首先我是用NGUI绘制了两个个Label,一个命名为ScoreTitle,另一个为Scores,让Scores成为ScoreTitle的子物体,好了,下面开始添加代码
在Pipe.cs中添加如下
public GameObject scores;
void OnTriggerExit(Collider gameObject)
{
if(gameObject.tag=="Player")
{
audio.Play();
GameManager.gameInstance.currentScores++;
// Debug.Log(GameManager.gameInstance.currentScores);
scores.GetComponent<UILabel>().text = GameManager.gameInstance.currentScores + "";
}
}
感觉也没什么可解释的,浅显易懂,好了,计分完毕,可以小小的玩一把了。