Page 1 sur 1

SlowZone. Aidez-moi

Publié : 08 Juil 2017 21:53
par Skyxo234
Bonjour, je code depuis peu de temps un First Person Shooter (FPS) et voudrais une zone où les ennemis s’arrentent quand on entre à l'interieur. J'ai pensé à désactiver le NavMeshAgent et le script de l'intelligence artificielle du zombie en faisans ceci :

Sachant que mes zombies sont stockés dans un spawner qui les fais apparaître toutes les 5 secondes.

Code : Tout sélectionner

#pragma strict

var isSlow : boolean = false;
var zombie;

function Start(){	
InvokeRepeating("SearchTag", 0, 1);
}

function OnTriggerEnter(hit : Collider){
	if(hit.gameObject.tag == "Player"){
		zombie.GetComponent(ZombieAI).enabled = true;
		zombie.GetComponent(NavMeshAgent).enabled = true;
	}
}

function OnTriggerExit(hit : Collider){
	if(hit.gameObject.tag == "Player"){
		zombie.GetComponent(ZombieAI).enabled = false;
		zombie.GetComponent(NavMeshAgent).enabled = false;
	}
}

function SearchTag(){
	zombie = gameObject.FindGameObjectWithTag("Ennemi");
}
Mais j’engendre des erreur :
Assets/Script/SlowZone.js(13,24): BCE0019: 'GetComponent' is not a member of 'Object'.
Assets/Script/SlowZone.js(14,24): BCE0019: 'GetComponent' is not a member of 'Object'.
Assets/Script/SlowZone.js(20,24): BCE0019: 'GetComponent' is not a member of 'Object'.
Assets/Script/SlowZone.js(21,24): BCE0019: 'GetComponent' is not a member of 'Object'.

Je voudrais régler ce problème svp ^^
Merci de votre coopération.
 ! Message de : Max
Les balises code SVP
De plus, merci de rédiger un titre explicite.
Se reporter à la Netiquette.

Re: SlowZone. Aidez-moi

Publié : 08 Juil 2017 23:08
par Max
Bonsoir Skyxo234,

Il faut savoir lire et interpréter les messages d'erreur.
GetComponent est une methode membre de la classe GameObject. Ce que ne semble pas être 'zombie' ...
Tu ne types pas tes données, et comme tu as en entête un "#pragma strict", forcément cela te génère ces erreurs.
Donc écrit 'var zombie : GameObject;', cela devrait régler cette partie du problème.