problème avec "shootScript" dans étape4: tir et impact

Toutes les questions relatives aux tutoriels du site sont à poser à cet endroit.
kaha
Messages : 2
Inscription : 24 Août 2011 22:00

problème avec "shootScript" dans étape4: tir et impact

Message par kaha » 24 Août 2011 22:31

Bonsoir,

Débutant dans unity, j'ai suivi le tuto en ligne jusqu'a la vidéo 4 "le tir et les impacts", et là je bloque
Voici le code d'après tuto:

Code : Tout sélectionner

var fireRate=0.30;
var impact:GameObject;
var canFire=true;

function Update () 
{
	if (Input.GetButton("Fire1"))
	{
		fire();
	}	
}

function fire()
{
	if (canFire==true)
	{
		canFire=false;
		FireOneShot();
	}
}

function FireOneShot()
{
	var direction=transform.TransformDirection(Vector3.forward);
	var hit RaycastHit;
	
	if (Physics.Raycast(transform,position,position,direction,hit,100));
	{
		tempRot,Quaternion FromToRotation(Vector3.up,hit normal);
		Instantiate(impact,hit.point,tempRot);
	}
	yield WaitForSeconds(fireRate);
	canFire=true;
}
Et les messages d'erreurs:
Erreur1:
Assets/scripts/impactScript.js(25,16): UCE0001: ';' expected. Insert a semicolon at the end
pour

Code : Tout sélectionner

	var hit RaycastHit;
Erreur2:
Assets/scripts/impactScript.js(29,24): BCE0044: expecting :, found ','.
pour

Code : Tout sélectionner

		tempRot,Quaternion FromToRotation(Vector3.up,hit normal);

Voila, je comprend pas les erreurs; le ';' est a sa place il me semble, et la deuxième erreur à pas de sens.

Je aucune notion en prog donc encore moins en java, donc aucune idée de comment résoudre le problème.

Merci de m'aider.

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

Re: problème avec "shootScript" dans étape4: tir et impact

Message par cayou66 » 24 Août 2011 23:04

Yop,
ce n'est pas du Java :) mais du javascript.

ça parait bizarre cette ligne...

Code : Tout sélectionner

Physics.Raycast(transform,position,position,direction,hit,100));
La doc dit:
origin The starting point of the ray in world coordinates.
direction The direction of the ray.
distance The length of the ray
layerMask A Layer mask that is used to selectively ignore colliders when casting a ray.
4 paramètres, pas 6 :D

Avatar de l’utilisateur
krys64
Fondateur unity3d-france
Fondateur unity3d-france
Messages : 471
Inscription : 26 Nov 2009 00:08

Re: problème avec "shootScript" dans étape4: tir et impact

Message par krys64 » 25 Août 2011 08:13

var hit RaycastHit; // Faux

var hit:RaycastHit; // Juste

kaha
Messages : 2
Inscription : 24 Août 2011 22:00

Re: problème avec "shootScript" dans étape4: tir et impact

Message par kaha » 26 Août 2011 15:24

Merci krys64, j'ai résolu mon problème de "RayCast".

Cayou66, j'ai compris l'erreur, je vais essayer de comprendre le code du tuto pour voir ce qu'il faut supprimer.

Merci a vous deux.

Cependant, je ne comprend toujours pas l'erreur:
Assets/scripts/impactScript.js(29,24): BCE0044: expecting :, found ','.
sur la ligne:
tempRot,Quaternion FromToRotation(Vector3.up, hit normal);

???

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

Re: problème avec "shootScript" dans étape4: tir et impact

Message par cayou66 » 26 Août 2011 15:32

La ligne devrait ressembler à un truc comme ça:

Code : Tout sélectionner

transform.rotation = Quaternion.FromToRotation (Vector3.up, transform.forward);

Avatar de l’utilisateur
shadrak
Messages : 29
Inscription : 21 Août 2011 17:56
Localisation : Oderen (68)
Contact :

Re: problème avec "shootScript" dans étape4: tir et impact

Message par shadrak » 29 Août 2011 22:29

bonjour,

Physics.Raycast(transform,position,position,direction,hit,100));


J'ai buté sur le meme probleme, sur les videos de Krys on distingue mal les "." des ","

c'est plutot :

if (Physics.Raycast (transform.position,transform.forward,Hit,100)) {

Faudrait passer à la HD Krys :lol: , mais merci du super boulot quand même.

marcott
Messages : 3
Inscription : 25 Sep 2011 17:25

Re: problème avec "shootScript" dans étape4: tir et impact

Message par marcott » 25 Sep 2011 18:42

Bonjour ,

je fait appel à vous je suis bloqué :roll: au tuto concernant le shootScript j'ai le message suivant :

"Assets/scripts/impactScript.js(29,24): BCE0044: expecting :, found ',' "

j'ai tenté de le modifier comme cela de cayou66 :

transform.rotation = Quaternion.FromToRotation (Vector3.up, transform.forward);

mais le message est alors :

"Assets/scripts/impactScript.js(29,26): BCE0044: expecting :, found '=' "

Merci de vos réponses :mrgreen:

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

Re: problème avec "shootScript" dans étape4: tir et impact

Message par cayou66 » 25 Sep 2011 19:07

Es-tu sûr que l'erreur est sur la bonne ligne?
La ligne vient de la documentation pourtant:
http://unity3d.com/support/documentatio ... ation.html

marcott
Messages : 3
Inscription : 25 Sep 2011 17:25

Re: problème avec "shootScript" dans étape4: tir et impact

Message par marcott » 25 Sep 2011 22:35

Bonsoir et merci pour la réponse

Toujours pas de solution voici ce que j'ai

Code : Tout sélectionner

var fireRate=0.30;
var impact:GameObject;
var canFire=true;

function Update () 
{
   if (Input.GetButton("Fire1"))
   {
      fire();
   }   
}

function fire()
{
   if (canFire==true)
   {
      canFire=false;
      FireOneShot();
   }
}

function FireOneShot()
{
   var direction=transform.TransformDirection(Vector3.forward);
   var hit: RaycastHit;
   
   if (Physics.Raycast(transform.position,transform.foward,hit,100));
   {
     transform.rotation = Quaternion.FromToRotation (Vector3.up, transform.forward);
      Instantiate(impact,hit.point,tempRot);
   }
   yield WaitForSeconds(fireRate);
   canFire=true;
}
Etant débutant :oops: en javascript je ne sais pas quel ligne est concernée par l'erreur .

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

Re: problème avec "shootScript" dans étape4: tir et impact

Message par cayou66 » 25 Sep 2011 22:40

Ok c'est mieux :)
la ligne:

Code : Tout sélectionner

if (Physics.Raycast(transform.position,transform.foward,hit,100));
y'a pas de ; à la fin

Code : Tout sélectionner

if (Physics.Raycast(transform.position,transform.foward,hit,100))

Verrouillé

Revenir vers « Tutoriels du site Unity3D-france »