Page 1 sur 1

Je ne sais pas recopier un script

Publié : 05 Oct 2016 18:22
par Meharis88
Bonjour,

Souhaitant réaliser un jeu j'ai suivi le tutoriel https://www.youtube.com/watch?v=nlZnL9sSb_g qui permet d'inclure des objets que l'on peut "attraper" (ici une pomme) mais lorsque que je recopie le script qui est :

Code : Tout sélectionner

#pragma strict

private var score : score;

function Start () {
score = GameObject.FindGameObjectWithTag ("Player").GetComponent(score);
}

function OnTriggerEnter2D (other : Collider2D){

if (other.tag == "player"){
score.apple += 1;
Destroy(gameObject);
}

}
La console m'écris : Assets/apple.js(6,65): BCE0023: No appropriate version of 'UnityEngine.GameObject.GetComponent' for the argument list '(score)' was found.

Pouvez vous m'aidez s'il vous plait ?

Merci par avance
 ! Message de : boubouk50
Problème de script n'est pas un titre très explicite. Tout le monde dans cette section a un problème de script. Tous les posts pourraient donc avoir ce titre, on essaie de cibler un minimum pour ceux qui auraient le même problème. Merci de faire l'effort (même si parfois c'est pas évident quand on ne comprend pas l'erreur)
:!:Utilisez les balises code SVP. :!:
Postez dans la bonne section SVP.
Utilisez un titre plus explicite SVP.
Merci ! Lire la Netiquette

Re: Je ne sais pas recopier un script

Publié : 06 Oct 2016 09:12
par boubouk50
En programmation la casse est importante:
Recopie mot pour mot le script et ça fonctionnera. Tu as écris score au lieu de Score (2 fois).

Re: Je ne sais pas recopier un script

Publié : 06 Oct 2016 11:49
par Meharis88
deja merci de me faire passer pour un débile en renommant le titre de mon post sympa....
et pour info si on ecrit "score" depuis le début et non pas "Score" ca n'a aucune importance....
Bref.... merci quand meme ....

Re: Je ne sais pas recopier un script

Publié : 06 Oct 2016 12:20
par boubouk50
Meharis88 a écrit :deja merci de me faire passer pour un débile en renommant le titre de mon post sympa....
et pour info si on ecrit "score" depuis le début et non pas "Score" ca n'a aucune importance....
Bref.... merci quand meme ....
J'avoue ça peut paraître un peu rude, mais au moins ça marque, c'est dans l'attente d'un peu plus de rigueur et que tu fasses un peu plus attention à l'avenir. Personne ne sait qui se cache derrière ton pseudo, on ne va pas te montrer du doigt à cause d'une étourderie, ni te cataloguer stupide ou l'afficher sous ton avatar.
Je persiste tout de même: Tu n'as pas recopié correctement le script.

Code : Tout sélectionner

private var score : score;
...
score = GameObject.FindGameObjectWithTag ("Player").GetComponent(score);
n'est pas un code valable.
ton premier "score" est un nom de variable, le second et le 3e sont des noms de classe. Si tu les nommes de la même manière, comment différencier la variable de la classe?

Code : Tout sélectionner

private var score : Score;
...
score = GameObject.FindGameObjectWithTag ("Player").GetComponent(Score);
Ensuite, il faut que la classe Score soit définie ailleurs (ce que tu as dû faire si tu as bien tout recopié).

Entre quelqu'un qui poste en vidéo un code qui marche et le tien qui ne marche pas, l'erreur n'est pas dans le code de base mais bien dans ta copie qui n'est pas correcte.

Re: Je ne sais pas recopier un script

Publié : 06 Oct 2016 12:27
par boubouk50
Mon lien vers la doc dans la 1e réponse a sauté. Je te le remets: GetComponent (). Tu y trouveras les syntaxes de GetComponent () en js ou c#.
ex:

Code : Tout sélectionner

var hinge: HingeJoint = gameObject.GetComponent(HingeJoint) as HingeJoint;
Surement te faut-il également ajouter le as Score à la suite de ton GetComponent ().