//思路:首先我们需要给这个敌人身上放置上被打中的时候的粒子效果的组件,然后在获取和初始化这个组件然后在播放这个组件。虽然这个过程很简单但是我们要让

组件随着敌人的移动的时候随时触发就必须将这个组件的位置和敌人的位置同步

代码:

private ParticleSystem ps;  //1.申明这个组件 这个组件必须事先放置在敌人的身上的子物体处

void start(){

  ps=this.GetComponentChildren<ParticleSystem>();  //2.初始化这个组件和获取这个组件因为这个组件处于敌人身上的子物体

}

//3.在受伤的方法中去使用和这个组件

public void TakeDamage(float damage,Vector3 hitinfoPoint){  //3.这个hitinfoPoint的参数是表示测试到射线撞击点的位置也为触发特效点的位置

  ps.transform.position=hitinfoPoint;  //5.为粒子特效的位置赋值 将每次子弹和我们的撞击的时候的触发的特效的位置赋值

  ps.Play()  //4.设置播放特效

}

//6.在设计方法中为我们粒子特效的位置赋值

hitInfo.collider.GetComponent<EnemyHealth>().HealthDamage(attak, hitInfo.point);     //7.在检测时候不仅赋予伤害的值还赋予物体碰撞点的位置

posted on 2017-08-02 12:47  春天里的麦子  阅读(3363)  评论(0编辑  收藏  举报