Unity2D:使克隆粒子系统仅触发一次

时间:2017-09-21 09:00:20

标签: c# unity3d particle-system

我有一个敌人预制件,从我游戏中的一个生成点实例化,在敌人的预制件上我有一个粒子系统组件,如果玩家射击敌人超过2倍,粒子系统将会发挥作用。然而,我遇到的问题是只在玩家射击的敌方预制件之一上发射粒子系统。是否有一种方法可以让敌人的预制件射击以在该敌人预制件上发射粒子系统,而不是在敌人预制件射击时使用的粒子系统,以及任何其他没有使用ontriggerenter2d而未使用ontriggerenter2d的其他敌人预制件有一些问题。

这是附加到播放器的脚本:

  public GameObject enemy;
  public static bool firePar = false;
  public static int combo = 0;
  void Start (){
    firePar = false;
    combo = 0;
  }

  void OnTriggerEnter2D(Collider2D col) {
    if(col.tag == "Enemy") {
       Destroy(col.gameObject,0.2f);
     }
  }

  void Update() {
    if(combo >= 10) {
      firePar = true;
    } else if (combo < 10) {
        firePar = false;
    }
  }

这是敌人的代码(用于射击粒子):

   private ParticleSystem par;

    void Start (){
       par = GetComponent<ParticleSystem>();
    }

    void Update () {
      if(Playerbullet.firePar == true) {  
         par.Play();

       } else {
         par.Stop ();
       }
    }

0 个答案:

没有答案