Probleme étape 7

Toutes les questions relatives aux tutoriels du site sont à poser à cet endroit.
Avatar de l’utilisateur
jeux007
Messages : 45
Inscription : 20 Nov 2011 23:59
Localisation : Mont de Marsan
Contact :

Probleme étape 7

Message par jeux007 » 04 Jan 2012 22:53

Bonjour en faite j'ai terminer tous les script du tuto mais suite a une fausse manipe je pense sa ne marche plus et sa me dit
NullReferenceException
ia.seekPlayer () (at Assets/script/script/ia.js:29)
ia.Update () (at Assets/script/script/ia.js:24)
je regarder le tuto de krys une bonne dizaine de fois mais j'ai trouver aucune erreur aider moi svp :cry: :cry:
voila le script

Code : Tout sélectionner

var point=100;

var hitPoints=20;i

var explosion:Transform;



var tir1:Transform;

var tir2:Transform;

var missile:GameObject;



var isShooting=false;



var characterLayer:LayerMask;//calque de enemy

var gravity=20;

private var player:GameObject;

player=GameObject.Find("player");



var visionAngle:float=45;

var visonRange:float=100;// nombre de metre de reperage

private var distanceToPlayer:float;

private var canSeePlayer:boolean=false;



var hit : RaycastHit;



function Update(){

seekPlayer();//on lance la fonction de recherche du joueur

}



function seekPlayer(){

var moveDirection=Vector3.zero;

directionToPlayer=player.transform.position-transform.position;

distanceToPlayer=Vector3.Distance(transform.position,player.transform.position);



var playerAngle=Vector3.Angle(directionToPlayer,transform.forward);

if((Mathf.Abs(playerAngle)<visionAngle && distanceToPlayer<visonRange) || canSeePlayer==true){

Physics.Linecast(transform.position,player.transform.position,hit,~characterLayer.value);



if(hit.collider.name==player.collider.name){

moveDirection=transform.forward;

var tempRot=Quaternion.Slerp(transform.rotation,Quaternion.LookRotation(directionToPlayer),2*Time.deltaTime);//calcule de la rotation de enemy vers player

tempRot.x=0;

tempRot.z=0;

transform.rotation=tempRot;

canSeePlayer=true;



shootMissile();

}

}

moveDirection.y-=gravity*Time.deltaTime;

var controller:CharacterController=GetComponent(CharacterController);

var flags=controller.Move(moveDirection*3*Time.deltaTime);







function makeDamage(damage:float){//.....fonction gestion dommages de l'ennemi

hitPoints-=damage;



if (hitPoints<=0){



Instantiate(explosion,transform.position,transform.rotation);

camera.main.SendMessageUpwards("Applypoints".points,SendMessageOptions.DontRequireReceiver);



Destroy(gameObject);

}

}



function shootMissile(){

if (isShooting==false){

isShooting=true;

Instantiate (missile,tir1.position,tir1.rotation);

Instantiate (missile,tir2.position,tir2.rotation);

yield WaitForSeconds(2);

isShooting=false;

}

}

Avatar de l’utilisateur
gabriel
Messages : 174
Inscription : 08 Oct 2011 22:32
Localisation : Devant mon clavier

Re: Probleme étape 7

Message par gabriel » 04 Jan 2012 23:29

bonjour,

les lignes du code ne correspondent pas aux erreurs mais je pense que ton game object ne s'appelle plus player
player=GameObject.Find("player"); renvoie null
et à cette ligne
directionToPlayer=player.transform.position-transform.position;

player étant null, on a une NullReferenceException
Prochainement sur vos écrans

Avatar de l’utilisateur
jeux007
Messages : 45
Inscription : 20 Nov 2011 23:59
Localisation : Mont de Marsan
Contact :

Re: Probleme étape 7

Message par jeux007 » 05 Jan 2012 00:22

Oui merci beaucoup c'est sa mon perso s'appelait Player et non player :? encore merci sa fait des semaine que sa bloque et bonne année

Verrouillé

Revenir vers « Tutoriels du site Unity3D-france »