Быстрая стрельба через кнопки UI - PullRequest
0 голосов
/ 26 ноября 2018

введите описание ссылки здесь , так как я новичок, у меня возникла проблема с логикой кнопок пользовательского интерфейса, проблема в том, что если я просто использую статистику if (Input.GetButton ("Fire1")) воператор Update все работает нормально, означает, что враг получает урон при непрерывном стрельбе, но когда я конвертирую его в (публичную функцию Fire), так что я могу использовать через кнопку огня Ui, используя «триггер события» для платформы andriod, затемвозникает проблема, что враг не получает никакого урона при непрерывной стрельбе

вот код и изображение того, как я реализую через интерфейс в инспекторе

      function Update(){

          if(firing==true){
         Fire();
      }

           }



       public function Fire(){


         firing=true;


    if(AK47Ammo.CurrentAmmo>=1)

    {
            if(Firing==0)
        {
        AK47Firing();
        }
            }
        }


 public function notFiring(){
 firing=false;
  }



function AK47Firing()
{
        nextFire=Time.time+fireRate;

        anim.SetBool("Fire",true);

    AK47Ammo.CurrentAmmo -= 1;


        gunSound.Play();
        Flash.SetActive(true);
    (MuzzleOff());
        var hitShot:RaycastHit;
    if(Physics.Raycast(transform.position,transform.TransformDirection(Vector3.forward)*100,hitShot))
        {

  hitShot.transform.SendMessage("DeductPoints",DamageAmount,SendMessageOptions.DontRequireReceiver );    
        }                
}

         function MuzzleOff()
        {
                                   Firing=1;

            yield WaitForSeconds(0.2);
            Firing=0;
            var ps: ParticleSystem = GetComponent.<ParticleSystem>();
         ps.Stop();
        Flash.SetActive(false);
                    Shell.SetActive(false); 
        }  

1 Ответ

0 голосов
/ 27 ноября 2018

Я не уверен в синтаксисе в javascript, но вам, вероятно, нужно создать метод, который переключает срабатывание с true на false для триггера события.Вот так:

public void AutoFireToggle()
{
    firing = !firing;
}

Обратите внимание, что он работает в обоих направлениях, поэтому он может перейти от истинного к ложному или от ложного к истинному с помощью того же метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...