Les Artstronautes
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-40%
Le deal à ne pas rater :
-40% sur le Pack Gaming Mario PDP Manette filaire + Casque filaire ...
29.99 € 49.99 €
Voir le deal

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

3 participants

Aller en bas

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

Message par TonTon Tof 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 0001 - Découverte Godot - 2D / GDScript 0005_n10

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

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

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

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

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"

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

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.

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

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.

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

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.

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

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.

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

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 0001 - Découverte Godot - 2D / GDScript 0080_s10

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.

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

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().

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


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

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

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:

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

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

Masculin Messages : 957
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 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
Lydia
Lydia
Créateur de constellations
Créateur de constellations

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

Revenir en haut Aller en bas

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

Message par TonTon Tof 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 ...
TonTon Tof
TonTon Tof
Traceur de comètes
Traceur de comètes

Masculin Messages : 957
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 Jeu 24 Mai 2018 - 15:36

Merci pour ton investissement plusun

_________________
Trefle = SylvieS L'Artstronaute
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
Trefle
Trefle
Faiseur de galaxies
Faiseur de galaxies

Féminin Messages : 4024
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 Jeu 24 Mai 2018 - 19:40

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

Masculin Messages : 957
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