[RESOLU][DB-AL]débutante :animation obsolete

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Evane
Messages : 12
Inscription : 30 Mai 2018 09:30

[RESOLU][DB-AL]débutante :animation obsolete

Message par Evane » 30 Mai 2018 10:41

bonjour,
j'ai installé unity il y a quelques jours et je peine beaucoup à arriver à faire la moindre chose. Chaque fois que je commence une vidéo de tutoriel débutant, quand j'essaye de passer à la pratique (en C#) et que je recopie le code ca ne marche pas. Beaucoup de "depreciated" et autre.

1> Pour commencer simple, pour faire changer de costume à mon personnage, il semble que
animations = GameObject.GetComponent<Animation>();
ne marche plus, mais je n'ai pu trouver nulle part par quoi le remplacer.

2> je cherche des tutoriels débutants en vidéo et en Français (ou même en anglais) avec du code C# qui fonctionne avec unity2018, et ne me sort pas un message d'erreur toutes les 3 minutes, au moins pour faire des trucs basiques comme déplacement, collision...

3>on me dit de se positionner sur une fonction et de cliquer à la fois sur ALT et 4(ou guillemet) pour avoir l'aide contextuelle, mais rien du tout, et même si je vais manuellement sur internet dans "unity user manual" et que je fais une recherche par ex "GetComponent" pour voir quels sont ses paramètres possibles, il me sort une liste de résultats qui n'a rien à voir avec le sujet, il n'y a pas quelque part un "quick manual reference" ou la recherche fonctionne? Comment programmer correctement si on n'a même pas la liste des objets et des fonctions?

Un peu d'aide serait la bienvenue, je suis un peu découragée de ne rien arriver à faire, sinon je vais être obligée de retourner sur Gamemaker studio2 qui était quand même plus clair.. (mais sans export gratuit sur tablette, hélas)
Dernière édition par Evane le 01 Juin 2018 10:06, édité 2 fois.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [DB-AL]débutante :animation obsolete

Message par Alesk » 30 Mai 2018 11:04

Salut,

Pour commencer il serait intéressant de nous poster les messages d'erreurs que tu as, ainsi que le code qui les provoque.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6208
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL]débutante :animation obsolete

Message par boubouk50 » 30 Mai 2018 11:23

Code : Tout sélectionner

animations = GameObject.GetComponent<Animation>();
Fais-tu bien attention à la casse? Les majuscules et minuscules sont importantes!
Par exemple, ce que tu as écrit est faux, GameObject ne devrait pas avoir de majuscule.
Ensuite, le Deprecated n'est qu'un warning/avertissement, il te signifie que les fonctions utilisées ne sont plus à jour et qu'il faudrait utiliser le nouveau système. Unity peut corriger certains de ces warnings, sinon, il faut aller sur la documentation officielle pour trouver l'équivalent.
Quel est le tuto que tu suis?
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Evane
Messages : 12
Inscription : 30 Mai 2018 09:30

Re: [DB-AL]débutante :animation obsolete

Message par Evane » 30 Mai 2018 13:22

aarg bien sur, la majuscule! c'est que dans la documentation ils mettent GameObject parfois avec une majuscule ou parfois sans..
Donc avec une majuscule c'est la classe, comme dans:
player = new GameObject("Player");
et une minuscule comme dans
animations = gameObject.GetComponent<Animation>();
c'est quelque chose comme une variable prédéfinie? qui contient l'objet auquel est appliqué la fonction? je ne trouve pas de documentation sur gameObject avec une minuscule..


Pour les tutos j'ai tenté un tuto "Apprendre Unity3D et la programmation C#" très sympa mais j'ai buté sur addForce() qui n'a pas l'air de marcher, ou alors je ne trouve pas la syntaxe correcte, ou sinon le tuto "Créer un RPG facilement sur Unity 3D : #2 Création du joueur"

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6208
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL]débutante :animation obsolete

Message par boubouk50 » 30 Mai 2018 13:30

gameObject c'est l'accès direct au gameObject.
C'est exactement comme si tu marquais this.gameObject.
C'est le même accès comme depuis n'importe quel Component
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [DB-AL]débutante :animation obsolete

Message par Alesk » 30 Mai 2018 13:59

GameObject avec une majuscule, c'est le nom de la classe qui définit les gameobjects.
gameObject avec une minuscule, c'est le nom de la propriété de la classe Monobehaviour qui pointe donc vers une instance de la classe GameObject.

Pour éviter de te planter là dessus, utilise le mot clé "this" pour faire référence à la classe actuelle, l'auto-completion t'affichera alors toutes les propriétés autorisées, dont "gameObject"

Exemple pour stocker un pointeur vers le gameObject dans la variable "go":

au lieu de :

Code : Tout sélectionner

GameObject go = gameObject;
tu fais :

Code : Tout sélectionner

GameObject go = this.gameObject;
et là tu seras sûre de ton coup.

(edit, arf, j'avais mal lu la réponse de Boubouk, ça fait redite :p )

Evane
Messages : 12
Inscription : 30 Mai 2018 09:30

Re: [DB-AL]débutante :animation obsolete

Message par Evane » 30 Mai 2018 18:37

merci, avec le "this" c'est vrai que c'est plus clair, mes souvenirs de programmation objet sont un peu rouillés..

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6208
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL]débutante :animation obsolete

Message par boubouk50 » 31 Mai 2018 09:11

Quel tuto?
Qu'est-ce qui te bloque actuellement?
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Evane
Messages : 12
Inscription : 30 Mai 2018 09:30

Re: [resolu][DB-AL]débutante :animation obsolete

Message par Evane » 01 Juin 2018 10:52

j'ai réussi à me débloquer, merci. J'ai même réussi à installer le remote pour voir mon jeu directement sur ma tablette, sujet sur lequel j'ai peiné 3h la veille et qui marchait tout seul le lendemain sans raison (reboot?).

J'ai même trouvé par hasard la réponse à ma question 3> sur ma frustration face à l'impossibilité d'obtenir des résultats de recherche corrects dans l'aide d'unity, ce qui était vraiment très gênant, en fait la réponse est toute simple et je me sens très bête:
Dans la barre noire en haut de l'écran de la documentation d'Unity, je n'avais pas vu 2 pseudo onglets mal faits:

"Manual" et "Scripting API"

et il suffit de cliquer d'abord sur "Scripting API" avant de faire ma recherche (de "GetKey" par exemple) pour obtenir une desciption de ma fonction, sinon avec "Manual" activé je n'obtenait que des résultats inutiles.
Je ne sais toujours pas s'il y a moyen d'atteindre l'aide avec une combinaison de touches depuis Visual Studio, mais il y a déjà progrès.

Répondre

Revenir vers « (C#) CSharp »