2016-08-07 6 views
0

URL видео для легкого понимания - http://tinypic.com/r/28jdyyq/9Mouse Click внутри OnTriggerEnter

В этом видео вы можете увидеть мою проблему, когда меч коснется врага .. враг получает разрушен .. Но я хочу, когда я щелчок мыши (или нажмите), то только ..enemy должен уничтожить ..

void OnTriggerEnter(Collider col) 
    { 
     if (col.GetComponent<Collider>().tag == "enemy") 
     { 
      Destroy(col.gameObject); 

     } 
    } 

Это мой код, у меня есть враг и плеер с мечом (с коллайдером), все идеально, я хочу, когда я нажимаю кнопку мыши, то только меч должен убить враг,

Но, что происходит w Я приношу своего игрока (с мечом) рядом с врагом, а меч касается врага, он убивает врага, не ударяя мечом.

Я попробовал приведенный ниже код, добавив событие мыши в Trigger, но ничего не происходит. Любая идея Пожалуйста

void OnTriggerEnter(Collider col) 
    { 

     if (Input.GetButtonDown("Fire1")){ 

       if (col.GetComponent<Collider>().tag == "enemy"){ 

        Destroy(col.gameObject); 
       } 

     } 

    } 

Вот код для свинга -

if (Input.GetButtonDown("Fire1")) 
     { 
      anim.SetTrigger("hit"); 
     } 

Здесь хит спуски в контроллере анимации и сделать переход к анимации клипу

+0

я хочу, чтобы уничтожить противника на мыши. (у меня есть игрок с мечом и на мышке, игрок просто размахивает мечом). я хочу, когда меч ударил врага щелчком мыши, тогда враг должен умереть. но с моим первым кодом, когда я привожу игрока рядом с врагом и мечом касается (не ударил) врага, он умирает. Я хочу, чтобы враг должен умереть только тогда, когда я mouseclick – amulbhatia

+0

нет, меч не имеет твердого тела. я могу добавить его, но что дальше ??? то – amulbhatia

+0

да, это только код. на самом деле, когда я использую первый код, враг уничтожается .. я хочу, чтобы враг должен уничтожать только на mouseclick .. (означает, когда игрок ударил) – amulbhatia

ответ

0

вы можете использовать Animation Events, чтобы сделать истинное логическое значение когда меч поднимается в анимации и превращает его в false, когда меч падает и проверяет, что Boolean при вызове OnTriggerEnter
введите переменную типа hit установить его истинной и ложь через анимации Событие

public bool hit; 

void OnTriggerEnter(Collider col) 
    { 

     if (hit){ 

       if (col.GetComponent<Collider>().tag == "enemy"){ 

        Destroy(col.gameObject); 
       } 

     } 

 Смежные вопросы

  • Нет связанных вопросов^_^