Etape 4 FPS BASIQUE

Toutes les questions relatives aux tutoriels du site sont à poser à cet endroit.
lth
Messages : 2
Inscription : 23 Avr 2013 10:00

Etape 4 FPS BASIQUE

Message par lth » 23 Avr 2013 10:06

Bonjour,
Après compilation du script, Unity me renvoie une erreur : MissingMethodException: Method not found: 'UnityEngine.Physics.RaycastHit'.
Je ne parviens pas à réparer cette erreur, voici le code:

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.RaycastHit(transform.position,direction,hit,100)){
	tempRot = Quaternion.FromToRotation(Vector3.up,hit.normal);
	Instantiate(impact,hit.point,tempRot);
	}
	yield WaitForSeconds(fireRate);
	canFire=true;
}
Merci de votre aide.

Avatar de l’utilisateur
Max
Messages : 8763
Inscription : 30 Juil 2011 13:57
Contact :

Re: Etape 4 FPS BASIQUE

Message par Max » 23 Avr 2013 10:15

Normal, il ne faut pas écrire Physics.RaycastHit mais plutôt Physics.Raycast.
Quand tu tombe sur ce genre d'erreur, essais de vérifier la syntaxe dans la doc, on arrive en général à trouver l'origine du soucis ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

lth
Messages : 2
Inscription : 23 Avr 2013 10:00

Re: Etape 4 FPS BASIQUE

Message par lth » 23 Avr 2013 11:48

Merci beaucoup,
Désolé, je suis débutant.
Ça fonctionne, sauf que les "farbs" sont continues...

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,direction,hit,100)){
	tempRot = Quaternion.FromToRotation(Vector3.up,hit.normal);
	Instantiate(impact,hit.point,tempRot);
	}
	yield WaitForSeconds(fireRate);
	canFire=true;
}

Verrouillé

Revenir vers « Tutoriels du site Unity3D-france »