[URGENT]Etape 8

Toutes les questions relatives aux tutoriels du site sont à poser à cet endroit.
rodolphe97
Messages : 65
Inscription : 03 Mars 2012 01:13

[URGENT]Etape 8

Message par rodolphe97 » 03 Mars 2012 01:19

Bonjours a tous , excusez moi de vous deranger mais a partir de l'etape 8 , le script et bon il ne m'affiche pas d'erreur et l'hors du lancement du jeu , je peut jouer mais il me fait apparraitre au moins 200 message : NullReferenceException
ennemiscript.seekRodolphe () (at Assets/data/script/ennemiscript.js:22)
ennemiscript.Update () (at Assets/data/script/ennemiscript.js:17)
Svp aidez moi sinon je ne peut plus continuer le tuto car mon énemi ne fait rien :/

le script :

Code : Tout sélectionner

var gravity=20;

private var rodolphe:GameObject;
rodolphe=GameObject.Find("Rodolphe");

var visionAngle:float=45;
var visionRange:float=100;
private var distanceToRodolphe:float;
private var canSeeRodolphe:boolean=false;
var hit:RaycastHit;
var characterLayer:LayerMask;

function Update()
{
	seekRodolphe();
}

function seekRodolphe()
{
	directionToRodolphe=rodolphe.transform.position-transform.position;
	distanceToRodolphe=Vector3.Distance(transform.position,rodolphe.transform.position);
	
	var rodolpheAngle=Vector3.Angle(directionToRodolphe,transform.forward);
	
	if(Mathf.Abs(rodolpheAngle)<visionAngle && distanceToRodolphe < visionRange)
	{
		Physics.Linecast(transform.position,rodolphe.transform.position,hit.characterLayer.value);
		
		if(hit.collider.name==rodolphe.collider.name)
		{
			var moveDirection=transform.forward;
		}
	}

	moveDirection.y=gravity*Time.deltaTime;
	var controller:CharacterController=GetComponent(CharacterController);
	var flags = controller.moveDirection*Time.deltaTime;
}

function makeDamage(damage:float)
{
	hitPoint-=damage;
	
	if(hitPoint <= 0)
	{
		Instantiate(explosion,transform.position,transform.rotation);
		Destroy(gameObject);
	}

}

Avatar de l’utilisateur
leoufdetou
Messages : 729
Inscription : 16 Oct 2011 21:30
Localisation : Sens

Re: [URGENT]Etape 8

Message par leoufdetou » 04 Mars 2012 12:24

J'ai une petite remarque avant de commencer,les balise de code sont la justement pour que ton code soit mieux présenté.Je t'engage à y prendre garde la prochaine fois ;)
rodolphe97 a écrit :

Code : Tout sélectionner

private var rodolphe:GameObject;
rodolphe=GameObject.Find("Rodolphe");
Est ce que tu est sur que ton personnage s'appel bien "Rodolphe",avec un R majuscule ? Regarde bien,c'est des petites erreurs qui font tout planter parfois...
Enfin généralement,c'est ce qui produit ton erreur,aucune "Rodolphe" n'a été trouvé,donc on ne peut pas y faire référence :)
La Netiquette du forum à lire avant de poster
viewtopic.php?f=7&t=2964

Règle de base du forum "Scripting Javascript, C# et Boo:
viewtopic.php?f=7&t=3307

rodolphe97
Messages : 65
Inscription : 03 Mars 2012 01:13

Re: [URGENT]Etape 8

Message par rodolphe97 » 04 Mars 2012 12:52

Salut , j'ai regardé mais non ce n'est pas sa , des que je joue il me remet cette foutu erreur qui me bloque donc le tuto

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: [URGENT]Etape 8

Message par ZJP » 04 Mars 2012 15:36

J'ai une petite remarque avant de commencer,les balise de code sont la justement pour que ton code soit mieux présenté.Je t'engage à y prendre garde la prochaine fois ;)
+1. J'AI corrigé, car la remarque visiblement n'est pas prise en compte. Le bouton "Editer le message" est sans doute trop petit. :evil:

JP

Avatar de l’utilisateur
leoufdetou
Messages : 729
Inscription : 16 Oct 2011 21:30
Localisation : Sens

Re: [URGENT]Etape 8

Message par leoufdetou » 04 Mars 2012 23:59

Bon eh bien alors je vais prendre 5 minutes pour tester ce code
Edit:J'ai donc testé,et je persiste à croire que ton erreur viens d'une erreur de nom de ton first person controller,tu n'y fait pas correctement référence.Chez moi le script marche nickel,mais j'ai remarqué deux trois erreurs chez toi ;)
rodolphe97 a écrit :

Code : Tout sélectionner

Physics.Linecast(transform.position,rodolphe.transform.position,hit.characterLayer.value);
C'est plutôt:

Code : Tout sélectionner

 Physics.Linecast(transform.position,rodolphe.transform.position,hit,~characterLayer.value);
Mais c'est la seule erreur que j'ai vu.
Voici au final mon code,qui est normalement quasi le même que le tiens,en enlevant seulement

Code : Tout sélectionner

   moveDirection.y=gravity*Time.deltaTime;
   var controller:CharacterController=GetComponent(CharacterController);
   var flags = controller.moveDirection*Time.deltaTime;
car cette partie est dans la suite du tuto.D'ailleurs un conseil,quand tu n'arrive pas à une étape,n'essaie pas de passer à la suivante ;)
Mon code est donc une reproduction de celui de krys,avec les "rodolphes" en plus :mrgreen:

Code : Tout sélectionner

var gravity=20;
var explosion:Transform;
var hitPoint:int=20;

private var rodolphe:GameObject;
rodolphe=GameObject.Find("First Person Controller");

var visionAngle:float=45;
var visionRange:float=100;
private var distanceToRodolphe:float;
private var canSeeRodolphe:boolean=false;

var hit:RaycastHit;
var characterLayer:LayerMask;

function Update()
{
   seekRodolphe();
}

function seekRodolphe()
{
   directionToRodolphe=rodolphe.transform.position-transform.position;
   distanceToRodolphe=Vector3.Distance(transform.position,rodolphe.transform.position);
   
   var rodolpheAngle=Vector3.Angle(directionToRodolphe,transform.forward);
   
   if(Mathf.Abs(rodolpheAngle)<visionAngle && distanceToRodolphe < visionRange)
   {
      Physics.Linecast(transform.position,rodolphe.transform.position,hit,~characterLayer.value);
      
      if(hit.collider.name==rodolphe.collider.name)
      {
         var moveDirection=transform.forward;
		 Debug.Log("TOUCHE");
      }
   }

   moveDirection.y=gravity*Time.deltaTime;

}

function makeDamage(damage:float)
{
   hitPoint-=damage;
   
   if(hitPoint <= 0)
   {
      Instantiate(explosion,transform.position,transform.rotation);
      Destroy(gameObject);
   }
}
En esperant avoir put t'aider ;)
La Netiquette du forum à lire avant de poster
viewtopic.php?f=7&t=2964

Règle de base du forum "Scripting Javascript, C# et Boo:
viewtopic.php?f=7&t=3307

rodolphe97
Messages : 65
Inscription : 03 Mars 2012 01:13

Re: [URGENT]Etape 8

Message par rodolphe97 » 08 Mars 2012 21:35

Re salut !! deso je n'avez pas vu que t uavez editer ton post !! , jte remerci ct sa !!

Verrouillé

Revenir vers « Tutoriels du site Unity3D-france »