Voici une liste des différents codes source et syntaxes courante utilisées en GDScript dans Godot engine.
Ce fichier est un canevas qui s'étoffera au fur et à mesure de mes expérimentations sur ce langage .

Godot Engine & GDScript


Syntaxe de base

Les variables et les types simples

  • exemple
    # Variables
    var my_var # no value assigned, no type either 
    my_var = 5 # assigning value, type is int 
    my_var = "Hello world" # now my_var is a string 
    var empty = null 
    var my_float = 5.0 
    var bool_true = true or false 
    const MY_CONST = 200 
    const MAX_PLAYER_SPEED = 500 
    # Containers
    var my_array = [1, "cat", false, 18.56, 'whatever'] 
    var my_dict = { "one": 1, "two": 2, "three": 3, "four": 4 }
    my_dict = {one = 1, two = 2, three = 3, four = 4 }
    my_dict.four = 4 
    my_dict["five"] = 5 

Les chaînes formatées

  • exemple

    # Define a format string with placeholder '%s'
    var format_string = "We're waiting for %s."
    # Using the '%' operator, the placeholder is replaced with the desired value
    var actual_string = format_string % "Godot"
    # output: "We're waiting for Godot."
    print(actual_string)
    
    # Multiple placeholders
    var format_string = "%s was reluctant to learn %s, but now he enjoys it."
    var actual_string = format_string % ["Estragon", "GDScript"]
    # output: "Estragon was reluctant to learn GDScript, but now he enjoys it."
    print(actual_string)
    
    # Define a format string
    var format_string = "We're waiting for {str}"
    # Using the 'format' method, replace the 'str' placeholder
    var actual_string = format_string.format({"str":"Godot"})
    # output: "We're waiting for Godot"
    print(actual_string)

Les conditions et les boucles

  • exemple

    if user_answer == "B" and my_var == 1:
    # leave the condition
    pass
    elif user_answer == "C" or my_int = 5:
    do_something()
    else:
    do_something_else()
    
    # tests if a value is in an array
    var my_array = [1, "cat", false, 18.56, 'whatever'] 
    if my_var in my_array:
    do_something()
    else:
    do_something_else()
    
    for quote in quotes:
    quote.capitalize()
    
    var y = [1,2,3,4]
    for x in y:
    print(x)
    
    for x in range(8):
    print(x)
    
    while x < 10:
    print(x)

Les méthodes (fonctions)

  • exemple
    func get_random_item_in(my_list):
    # TODO: get a random number
    item = my_list[0] # get a quote from a list
    print(item) # show the quote in the interpreter
    return "program is over" # returned value

Écran & Images

L'affichage

  • Connaître la taille de la fenêtre

    position = get_viewport_rect().size.y:
  • Changer la taille de la fenêtre

    
    TODO
  • passage en Plein écran ou mode fenêtré
    TODO

Les Images

  • Afficher une image

    TODO
  • Effets sur les images

    • Effectuer un effet miroir horizontal

      TODO
    • Changer la teinte d'une image
      TODO
  • Obtenir les dimensions d'une image
    TODO

Les sprites

  • Gérer des listes de sprites
    stars_width = texture.get_width()
    stars_height = texture.get_height()

Les Polices de caractères

  • Ajouter le fichier contenant les polices au Content Pipeline
    Voir l'explication dans le paragraphe sur les images

  • calculer la taille d'un texte dans une police donnée
    TODO

Les Textes

  • Afficher un texte dans une police donnée
    TODO

Le GamePlay

  • Récupérer une référence vers un noeud
    TODO
  • supprimer un composant / une entité

    TODO
  • Créer et gérer un signal

    TODO
  • exemple d'implémentation d'un évènement sur un bouton
    extends Panel
    func _on_button_pressed():
    get_node("Label").text = "HELLO!"
    func _ready():
    get_node("Button").connect("pressed", self, "_on_button_pressed")

Le Delta time

  • le delta time est directement passé à la fonction _Process
    extends Label
    var accu = 0
    func _process(delta):
      accu += 1
      text = str(accu) # text is a built-in label property

Gestion des entrées utilisateur

Le clavier

  • intercepter une touche du clavier
    TODO

La souris

  • Afficher le curseur de la souris

    TODO
  • Connaître l'état des boutons de la souris

    TODO 
  • Connaître la position de la souris
    x = get_global_mouse_position().x 
    y = get_global_mouse_position().y

Physique

Gravité & Inertie

  • déplacement selon un objet ayant un angle de rotation (en degré)
    TODO 

L'audio

Musique

  • charger et jouer une musique
    TODO 

Sons

  • charger et jouer un son
    TODO 

Système

Fichiers

  • lire un fichier texte
    TODO 

Divers

Gestion de l'application

  • Quitter l'application

    TODO 
  • Exemple d'initialisation d'une application
    TODO 

Publication

Sous Windows

TODO

Sous Android

TODO

Sous IOS

TODO

Sous MacOS

TODO

Sous Linux

TODO

Article précédent Article suivant