Привязка анимации к кнопке с помощью EventTrigger

Программирование на Юнити.

Привязка анимации к кнопке с помощью EventTrigger

Сообщение kaleka 24 сен 2017, 15:30

Всем привет, возникла такая ситуация: имеется кнопка BtnAttack, на ней висит EventTrigger в котором созданы 2 события: PointerDawn и PointerExit. Эти события вызывают метод:
Синтаксис:
Используется csharp
//Триггер: Атака
        public void Attack(bool IsAttack) {
                attacking = IsAttack;
        }


Все что касается атаки:
Синтаксис:
Используется csharp
//Анимация атаки
                animator.SetBool ("attackCheck", AttackCheck);

//Атака
                if (attacking && AttackCheck) {
                        AttackCheck = false;
                        StartCoroutine ("Attacking");
                }

IEnumerator Attacking () {
                audioController.PlayOneShot (audioFakeHit);
                animator.SetBool ("attack", true);

                yield return new WaitForSeconds (.001f);
                animator.SetBool ("attack", false);

                Vector2 rayOrigin = new Vector2 (transform.position.x + 0.05f * directionX, transform.position.y + 0.7f);

                RaycastHit2D hit = Physics2D.Raycast (rayOrigin, Vector2.right * directionX, 1f, collisionMask);

                Debug.DrawRay(rayOrigin, Vector2.right * directionX * 1f,Color.red);

                print ("Удар");

                if (hit.collider) {
                        //Звук удара "Попал"
                        audioController.PlayOneShot (audioTrueHit);
                        hit.transform.GetComponent<Controller2D> ().Health -= 1;
                        Debug.Log ("Попал");
                }
                yield return new WaitForSeconds (.39f);
                AttackCheck = true;
        }


Если я нажимаю и держу кнопку, то "воин" атакует до тех пор пока кнопка не отпущена, как мне сделать так, что бы при нажатии он атаковал один раз, т.е. чтобы атаковать несколько раз - нужно было бы нажать кнопку несколько раз?
И еще вопрос: могу ли я непосредственно привязать анимацию к событию "PointerDawn" без проверки дополнительной булевой переменной?
kaleka
UNец
 
Сообщения: 15
Зарегистрирован: 05 июл 2017, 21:29

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13