[RESOLU] ~ fait tout rater

Toutes les questions relatives aux tutoriels du site sont à poser à cet endroit.
moihaha
Messages : 25
Inscription : 02 Fév 2012 20:09

[RESOLU] ~ fait tout rater

Message par moihaha » 02 Fév 2012 20:55

Bien le bonjour... Je suis nouveau et j'en suis à la 9 ème étape du pack de vidéos sauf que j'ai un problème de script de l'ennemi

Code : Tout sélectionner

var hitpoint=100;

var explosion:Transform;

var gravity=20;

var CharacterLayer:LayerMask;

private var player:GameObject;

player=GameObject.Find("player");

var visionangle:float=45;

var visionrange:float=100;

private var distancetoplayer:float;

private var canseeplayer:boolean=false;

var hit:RaycastHit;



function Update(){

seekplayer();

}

function seekplayer(){

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<visionrange){

Physics.Linecast(transform.position,player.trasform.position,hit.~CharacterLayer.Value);



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

var movedirection=transform.forward; 

}

}

movedirection.y-=gravity*Time.deltaTime;

var controller:CharacterController=GetComponent(CharacterController);

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

}



function makedamage(damage:float){

hitpoint-=damage;

if (hitpoint<=0){

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

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

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

Destroy(gameObject);

}

}
normalement tout va bien sauf à cause des ~ qui fait que cela marche pas et je ne vois pas d'erreur dans mon script... J'ai 2 erreur :

Code : Tout sélectionner

NullReferenceException: Object reference not set to an instance of an object
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type[] cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object[] args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetProperty (System.Object target, System.String name)
UnityScript.Lang.UnityRuntimeServices.GetProperty (System.Object target, System.String name)
et

Code : Tout sélectionner

Assets/script/enemyscript.js(22,66): BCE0050: Operator '~' cannot be used with an expression of type 'System.Object'.
et je ne m'en sort plus je bloque...
merci d'avance pour votre aide
Dernière édition par moihaha le 06 Fév 2012 10:08, édité 1 fois.

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

Re: [problème] ~ fait tout rater

Message par leoufdetou » 02 Fév 2012 22:11

Salut,
Je revois le tutos et je te dis ce qui ne va pas.
Edit:

Code : Tout sélectionner

Physics.Linecast(transform.position,player.trasform.position,hit.~CharacterLayer.Value);
aussi le player.trasform qui n'est pas bon,c'est player.transform,mais ca doit être une faute de frappe ;)
De plus,attention à la caste,ce nest pas

Code : Tout sélectionner

CharacterLayer.Value
mais

Code : Tout sélectionner

characterLayer.value
Je suis sur qu'il y a d'autres erreurs dans ce genre et qu'elles font parties du bug que tu as.
Fais donc gaffe aux majuscules et minuscules.
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

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: [problème] ~ fait tout rater

Message par cayou66 » 03 Fév 2012 03:38

C'est le 10000ieme de post de ce genre...Faites attention à ce que vous recopiez bêtement bon sang...
Les choses ont un sens, il vaut l'apprendre que de copier simplement -_-'

moihaha
Messages : 25
Inscription : 02 Fév 2012 20:09

Re: [problème] ~ fait tout rater

Message par moihaha » 03 Fév 2012 13:48

merci pour vos réponses, je corrige cela ce soir car la je suis au collège et je vous dis quoi

moihaha
Messages : 25
Inscription : 02 Fév 2012 20:09

Re: [problème] ~ fait tout rater

Message par moihaha » 03 Fév 2012 19:14

alors pour le trasform au lieu de transform ok merci mais pour "~" ça marche pas...

voila mon script actuel

Code : Tout sélectionner

var hitpoint=100;

var explosion:Transform;

var gravity=20;

var characterLayer:LayerMask;

private var player:GameObject;

player=GameObject.Find("player");

var visionangle:float=45;

var visionrange:float=100;

private var distancetoplayer:float;

private var canseeplayer:boolean=false;

var hit:RaycastHit;



function Update(){

seekplayer();

}

function seekplayer(){

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<visionrange){

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



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

var movedirection=transform.forward; 

}

}

movedirection.y-=gravity*Time.deltaTime;

var controller:CharacterController=GetComponent(CharacterController);

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

}



function makedamage(damage:float){

hitpoint-=damage;

if (hitpoint<=0){

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

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

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

Destroy(gameObject);

}

}
toujours

Code : Tout sélectionner

Assets/script/enemyscript.js(22,67): BCE0050: Operator '~' cannot be used with an expression of type 'System.Object'.

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

Re: [problème] ~ fait tout rater

Message par leoufdetou » 04 Fév 2012 12:39

moihaha a écrit :

Code : Tout sélectionner

~characterLayer.Value
Encore :/
Perso,si tu regarde bien,krys dans le tuto met

Code : Tout sélectionner

~characterLayer.value
Après c'est vrai qu'un gros point noir du tuto de krys et que l'on voit pas toujours s'il y a des points ou pas dans le code,mais avec une petite recherche on trouve des choses qui peuvent aider à régler le problème tout seul
http://unity3d.com/support/documentatio ... ayers.html
http://unity3d.com/support/documentatio ... layer.html

En espérant que ca te sera utile :)
P.S:évite le double post,édite ton message plutôt
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

moihaha
Messages : 25
Inscription : 02 Fév 2012 20:09

Re: [problème] ~ fait tout rater

Message par moihaha » 05 Fév 2012 20:08

ok merci tout marche bien pour l'instant mais je commence à avoir un autre problème qui n'a rien à voir avec ce topic mais qui a avoir avec l'étape 10 du pack FPS...

sur d'autre forum où je suis un problème un topic et on ne peut pas mélanger mais comme je suis nouveau ici j'aimerais savoir...
je créer un nouveau topic pour mon nouveau problème ou je continue sur celui-ci?

merci d'avance,
@moihaha

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

Re: [problème] ~ fait tout rater

Message par leoufdetou » 06 Fév 2012 00:52

Créé un nouveau topic,ca sera plus propre.
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

Verrouillé

Revenir vers « Tutoriels du site Unity3D-france »