
作用:检测碰撞
1、盒碰撞器(Box Collider)
2、椭圆碰撞器(Sphere Collider)
3、胶囊碰撞器(Capsule Collider)
4、车轮碰撞器(Wheel Collider)专用于车辆
5、网格碰撞器(Mesh Collider)
6、地形碰撞器(Terrain Collider)
//通过if来判断如果(这个碰撞器)碰撞到tag名为tank的物体时发送Message,执行TakeDamage()if(collider.tag=="tank"){collider.SendMessage("TakeDamage");}
using UnityEngine;using System.Collections;using UnityEngine.UI;public class TankHealth : MonoBehaviour {public int hp = 100;public GameObject tankExplosion;public AudioClip tankExplosionAudio;public Slider hpSlider;private int hpTotal;// Use this for initializationvoid Start () {hpTotal = hp;}// Update is called once per framevoid Update () {}void TakeDamage() {if (hp <= 0) return;hp -= Random.Range(10, 20);hpSlider.value = (float)hp /hpTotal;if (hp <= 0) {//收到伤害之后 血量为0 控制死亡效果AudioSource.PlayClipAtPoint(tankExplosionAudio,transform.position);GameObject.Instantiate(tankExplosion, transform.position + Vector3.up, transform.rotation);GameObject.Destroy(this.gameObject);}}}
using UnityEngine;using System.Collections;using UnityEngine.UI;public class TankHealth : MonoBehaviour {public int hp = 100;//血量public GameObject tankExplosion;//坦克爆炸动画public AudioClip tankExplosionAudio;//爆炸声音public Slider hpSlider;private int hpTotal;// Use this for initializationvoid Start () {hpTotal = hp;}// Update is called once per framevoid Update () {}void TakeDamage() {if (hp <= 0) return;hp -= Random.Range(10, 20);//减伤害hpSlider.value = (float)hp /hpTotal;if (hp <= 0) {//收到伤害之后 血量为0 控制死亡效果AudioSource.PlayClipAtPoint(tankExplosionAudio,transform.position);//爆炸声音GameObject.Instantiate(tankExplosion, transform.position + Vector3.up, transform.rotation);//坦克爆炸GameObject.Destroy(this.gameObject);//坦克移除}}}
碰撞物体(炮弹):
1、加碰撞器,加Collider
被碰撞(坦克):
1、加tag,此处为tank