unity3D子弹与怪物的碰撞08
判断子弹是否打到怪物,怪物被碰撞后播放死亡动画
自己给bullet设置的tag 通过tag判断

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MonsterManager : MonoBehaviour
{
//1.检测是否被子弹打中
private void OnCollisionEnter(Collision collision)
{
if(collision.collider.tag == "Bullet")
{
//2.销毁子弹
Destroy(collision.collider.gameObject);
}
}
}
给所有动物设置脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MonsterManager : MonoBehaviour
{
//3.定义动画
private Animation anim;
//5.定义两个动画状态
public AnimationClip idleClip;
public AnimationClip dieClip;
private void Awake()
{
//4.获得动画组件
anim = gameObject.GetComponent<Animation>();
//6.赋值动画
anim.clip = idleClip;
}
//1.检测是否被子弹打中
private void OnCollisionEnter(Collision collision)
{
if(collision.collider.tag == "Bullet")
{
//2.销毁子弹
Destroy(collision.collider.gameObject);
//7.切换动画
anim.clip = dieClip;
anim.Play();
}
}
}
全部动物赋值

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MonsterManager : MonoBehaviour
{
//3.定义动画
private Animation anim;
//5.定义两个动画状态
public AnimationClip idleClip;
public AnimationClip dieClip;
private void Awake()
{
//4.获得动画组件
anim = gameObject.GetComponent<Animation>();
//6.赋值动画
anim.clip = idleClip;
}
//1.检测是否被子弹打中
private void OnCollisionEnter(Collision collision)
{
if(collision.collider.tag == "Bullet")
{
//2.销毁子弹
Destroy(collision.collider.gameObject);
//7.切换动画
anim.clip = dieClip;
anim.Play();
}
}
private void OnDisable()
{
anim.clip = idleClip;
}
}

浙公网安备 33010602011771号