失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > unity官方教程 太空射击---问题填坑 之 计分以及游戏胜利

unity官方教程 太空射击---问题填坑 之 计分以及游戏胜利

时间:2019-03-19 02:06:00

相关推荐

unity官方教程 太空射击---问题填坑 之 计分以及游戏胜利

(本文仅供自己参考,文中代码可能有误,毕竟手打没有VS的帮助,请仅供理解,切莫复制粘贴)原来的代码还是不理解为什么,但现在有了新的方法,前排提醒,一下方法会与官方教程出现巨大误差,请理解后使用

首先我先进行一下解释,我们需要两段代码,其中一个放在玩家的子弹中,另一个为单独的Text

这里的重点是玩家的子弹上的代码,来,上代码

public float speed;// Use this for initializationvoid Start () {GetComponent<Rigidbody>().velocity = transform.forward * -speed;//z轴*speed}void onTriggerEnter(Collider other){if (other.gameObject.tag == "Enemy"){StartCoroutine(MyMethod());Destory(other.gameObject);Text.Add();}}

这里可以看见加入了碰撞判断,如此简单粗暴的在碰撞后调用了Text的功能以及消灭物体的功能,十分易懂

当然游戏物体不止一个敌机,所以在判断语句上请自行修改

接下来是计分,这里就不是很重要了,当然,要配合上面的代码以其参考效果更佳

using System.Collections;using System.Collections.Generic;using UnityEngine;public class Text : MonoBehaviour {private int count;// Use this for initializationvoid Start () {GetComponent < TextMesh >().text = "Count" + count;}public void Add(){count += 10; }IEnumerator MyMethod(){GetComponent<TextMesh>().text = "win";yield return new WaitForSeconds(2);Application.Quit();}// Update is called once per framevoid Update () {if (count > 150){StartCoroutine(MyMethod());}else{GetComponent<TextMesh>().text = "Count" + count;}}}

这里也是针对单一物体敌机的,完成了加分以及退出,这里我就不多做解释了,其实也没什么解释的。

好了,至此太空射击游戏学习圆满完成。

如果觉得《unity官方教程 太空射击---问题填坑 之 计分以及游戏胜利》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。