初学unity3D软件,写了个小球吃东西加分的游戏,根据siki的教程,自己添加了物体吃完后游戏自动复位的代码以及复位前的延时代码。
主要了解了材质的使用,脚本的编写,component添加,颜色添加,刚体相关知识。
代码如下:
using UnityEngine; using System.Collections; using UnityEngine.UI; public class player : MonoBehaviour { private Rigidbody rd; public int force = 5; private int score = 0; public Text text; public GameObject wintext; // Use this for initialization void Start () { rd = GetComponent<Rigidbody> (); } // Update is called once per frame void Update () { float h = Input.GetAxis ("Horizontal"); //前后控制 float v = Input.GetAxis ("Vertical"); //左右控制 rd.AddForce (new Vector3 (h,0, v)*force); } void OnCollisionEnter(Collision collision)//碰撞检测 { if (collision.collider.tag == "food") { Destroy(collision.collider.gameObject);//碰撞检测后消除,物体属性是物体,所以碰撞后小球会产生一个力使球停顿一下 } } IEnumerator wait(int t) { yield return new WaitForSeconds(t);//延时控制 Application.LoadLevel("main");//时间t后重新加载 } void OnTriggerEnter(Collider collider)//触发检测,食物属性修改了一下,使其作为触发器而不是物体了. { if (collider.tag == "food") { score++; text.text = "得分:"+score.ToString(); Destroy(collider.gameObject); if (score == 8) { wintext.SetActive(true); StartCoroutine(wait(3)); } } } }