Autor Wątek: Jeden Wróg  (Przeczytany 1078 razy)

Offline SkagGully

  • Użytkownik

# Luty 06, 2014, 23:09:50
Mam problem z napisaniem skryptu: chciałbym, aby gdy gracz przejdzie przez drzwi, pare metrow dalej pojawił się wróg.

Skrypt (w skrócie) wygląda następująco:

var Wrog : GameObject;
var Spawn : Transform;

function OnTriggerEnter(inny : Collider){

         if( inny.tag == "Drzwi"){
         Instantiate(Wrog, Spawn.transform.position. Quaternion.identity);
      }
}


No i teraz problem jest taki, że pojawia się kilku wrogów - tylu, ile klatek gracz znajduje się wewnątrz obiektu "Drzwi", ja natomiast bym chciał, aby pojawiał się tylko jeden wróg. Może można by tu chyba użyć polecenia Time.deltaTime, tylko nie bardzo wiem w którym miejscu.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline jelcynek

  • Użytkownik

  • +1
# Luty 06, 2014, 23:11:55
Zrób sobie w skrypcie boola flagę, który oznacza, że trigger już zadziałał. Ewentualnie możesz wyłączać collider.

Offline koirat

  • Użytkownik

  • +1
# Luty 06, 2014, 23:43:29
@SkagGully

Jeżeli tak się dzieje jak mówisz to masz gdzieś błąd innego rodzaju, albo twój collider wchodzi i wychodzi z triggera w sposób oscylujący. Bo OnTriggerEnter jest wywoływany tylko w momencie gdy collider nie znajdywał się w poprzednim updacie fizyki wewnątrz triggera.