Godot 0001 - Découverte Godot - 2D / GDScript

Aller en bas

Tuto Godot 0001 - Découverte Godot - 2D / GDScript

Message par TonTon Tof le Sam 19 Mai 2018 - 13:10

Articles précédents sur Godot:

Bonjour,

Pour poursuivre dans la série découverte de Godot, je vous propose un petit projet tout simple, pour aborder la notion de nœuds dans une scène et de scripting dans Godot.

Le projet est simple, on affiche un sprite et un bouton "masquer". Lancez Godot, créez un nouveau projet nommé "cachemoi" :
- Dans le dossier c:\godot_projets créez un dossier cachemoi puis cliquez sur 'Create et Edit".



Godot s'ouvre par défaut en vue 3D, pour passez en mode 2D, cliquez sur vue 2D ou tapez sur F1



Le vue 2D est graduée en pixels, le coin haut-gauche est en 0,0, la vue peut être déplacé avec les ascenseurs dans les positifs et les négatifs. Cette vue comporte un axe vertical vert, un axe horizontal rouge et un cadre bleu qui indique la taille de la fenêtre définie. Les petits boutons, jetons "-", "+" et "1" permettent respectivement de zoomer, dézommer et revenir à la normale. Cette fonctionnalité est disponible via la molette. Les 3 outils principaux permettent de sélectionner et redimensionner un objet sur la vue, de le déplacé et de le faire tourner.

Dans la partie basse du système de fichiers, sur la gauche, nous avons pour l'instant 2 ressources :
- default_env.tres, le fichier définissant l'environnement de notre jeu
- icon.png



Nous allons commencer par rétrécir la fenêtre de l'application. Cliquez sur "Projet/Paramétres du projet"
Section "Display / Windows" modifiez les paramètres "With" & "Height"



Nous allons maintenant ajouter un "Panel", c'est juste une zone qui contiendras les autres composants.

Dans la scène, sur la droite de l'écran, ajoutez un premier nœud en utilisant le symbole "+"
Dans la fenêtre de création d'un nouveau "Node", sélectionnez un "Panel".

Vous pouvez aller le chercher dans l'arborescence Node/CanvasItem/Control/Panel ou utiliser la barre de recherche.



Ajouter le panneau, qui apparaît sur la Vue 2D et redimensionnez le. Vous pouvez directement changer sa taille depuis l'onglet "Inspecteur" situé en dessous de l'arborescence de la scène.



Dans la scène, sélectionnez le nœud Panel et, avec le menu clic-droit, ajoutez un nœud enfant de type Sprite
Glissez déposez la ressource "icon.png" dans la propriété "Texture" de l'inspecteur pour définir le sprite.
Positionnez le sprite sur le panel.



Créez de même dans le nœud Panel, un nouveau nœud enfant de type "button" et définissez la propriété "Text" sur Masquer. Disposez le bouton à l'écran.



C'est bon pour vous ? Nous allons pouvoir passer à la partie scripting.

La notion d'arborescence dans Godot est une notion fondamentale. Il est vraiment important de bien la comprendre pour permettre aux objets d'interagir entre eux.

Dans notre cas, nous voulons que quand l'utilisateur clique sur le bouton le sprite disparaisse.

Nous allons donc :
- demander au bouton de prévenir le sprite lorsque le joueur clique dessus.
- au sprite de "se cacher" lorsqu'il reçoit le signal du bouton

Nous commençons donc par créer un script dans le Sprite, avec le clic-droit, puis "Attacher un script" :



Godot bascule en mode édition de code du script, et affiche une petite icône dans la scène pour indiquer que l'on a attacher un script au Sprite.

Cliquez sur le nœud "Button" pour revenir en vue 2D, a coté de l'onglet inspecteur, nous avons l'onglet "Nœud" qui va nous permettre de gérer les signaux que peux envoyer le bouton. Double cliquez sur le signal "pressed()".
Dans cette fenêtre, nous allons indiquer :
- que l'objet Button envois le signal "pressed()" à l'objet Sprite
- que le traitement de ce signal se fera dans une procédure nommée "_on_Button_pressed"
Cliquez sur connecter.



Dans l'éditeur de code, Godot a rajouté la fonction _on_Button_pressed. Nous allons demander au sprite de se rendre invisible : de se cacher. Il y a une fonction toute faite pour ça : hide().




Enregistrez la scène (CTRL+S) sous le nom "Panel.tscd". Allez dans les paramètres du projet,



Il est maintenant temps de tester notre application. Ca fonctionne ? Super.

Arriveriez-vous à ajouter un nouveau bouton pour qu'il affiche le sprite quand il est invisible ?

Spoiler:

- Ajouter un nouveau Button au Panel renommez-le en "ButtonAfficher" dans la scène
- n'oublier pas de définir la propriété texte du bouton à "Afficher" dans l'inspecteur
- dans l'onglet "noeud" allez sur le signal "pressed" et créer la fonction _on_ButtonAfficher_pressed():
- utiliser la fonction contraire de hide() : show()



J'espère que ce petit tutoriel vous aura donné l'envie d'aller plus loin avec Godot.

À bientôt,
avatar
TonTon Tof
Traceur de comètes
Traceur de comètes

Masculin Messages : 567
Date d'inscription : 22/10/2011

http://aloysia.fr/

Revenir en haut Aller en bas

Tuto Re: Godot 0001 - Découverte Godot - 2D / GDScript

Message par Lydia le Lun 21 Mai 2018 - 21:09

Bonsoir Tof, c'est bon pour moi.

Ce fonctionnement n'étant pas spécialement intuitif, tes tutos sont les bienvenus !
lydiacool
avatar
Lydia
Admin
Admin

Féminin Messages : 2083
Date d'inscription : 08/10/2011

http://lydelune.over-blog.com/

Revenir en haut Aller en bas

Tuto Re: Godot 0001 - Découverte Godot - 2D / GDScript

Message par TonTon Tof le Lun 21 Mai 2018 - 22:48

Bonsoir Lydia,

Merci de ton intérêt.

Je vais essayé d'être le plus clair possible pour illustrer ce mécanisme. C'est vrai que cela peu être déstabilisant.

Ce type de mécanismes est classique dans la programmation orientée objet. On définie des entités qui communiquent entre elles par échange de messages. Objective-C, C#, Java ...
avatar
TonTon Tof
Traceur de comètes
Traceur de comètes

Masculin Messages : 567
Date d'inscription : 22/10/2011

http://aloysia.fr/

Revenir en haut Aller en bas

Tuto Re: Godot 0001 - Découverte Godot - 2D / GDScript

Message par Trefle le Jeu 24 Mai 2018 - 15:36

Merci pour ton investissement plusun

_________________
Comment participer au forum ? D'abord signez le règlement, puis présentez-vous. Attendez ensuite qu'un administrateur vous ouvre les portes et vous serez admis parmi les Artstronautes !
Si vraiment vous êtes perdus et ne savez pas quoi faire, envoyez moi un mp
avatar
Trefle
Faiseur de galaxies
Faiseur de galaxies

Féminin Messages : 3259
Date d'inscription : 27/09/2011

http://luckytrefle.deviantart.com/ http://sylviesbd.over-blog.com/

Revenir en haut Aller en bas

Tuto Re: Godot 0001 - Découverte Godot - 2D / GDScript

Message par TonTon Tof le Jeu 24 Mai 2018 - 19:40

Merci a vous pour le votre surtout Wink
avatar
TonTon Tof
Traceur de comètes
Traceur de comètes

Masculin Messages : 567
Date d'inscription : 22/10/2011

http://aloysia.fr/

Revenir en haut Aller en bas

Tuto Re: Godot 0001 - Découverte Godot - 2D / GDScript

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum