<Bullet>:
public int damage = 60;///定义Bullet的伤害值为60
void Start()
{
Destroy(this.gameObject, 3);///子弹发射没有触碰到物体3秒后消失。
}
/因为子弹速度非常快,我们将子弹运行痕迹示为一条射线
///射线位置
Vector3 oP = transform.position;
transform.Translate(Vector3.forward * speed * Time.deltaTime);
Vector3 direction = transform.position - oP;
float length = (transform.position - oP).magnitude;/射线长度
RaycastHit hit;///射线发射碰撞
bool isCollider = Physics.Raycast(oP, direction, out hit, length);///子弹是否碰撞
if (isCollider)///如果子弹碰撞
{
Vector3 pos = hit.point;///得到子弹碰撞的位置
添加弹坑效果或者爆炸特效更酷一点
///假设将子弹射向Cube,给Cube的Tag选择一个"Player"的标签
if (hit.collider.tag == "Player")///子弹与Cube发生碰撞{
<