0% ont trouvé ce document utile (0 vote)
117 vues6 pages

GDScript Essentiels Godot

Le document présente les bases essentielles de GDScript pour créer des jeux avec Godot, incluant des techniques de déplacement de personnages, de détection de collisions, et d'utilisation de signaux. Il fournit également des exemples de code pour gérer le score, changer de scène, et faire apparaître des ennemis. Un mini projet final est proposé, consistant en un jeu de tir simple en 2D, intégrant les concepts abordés.

Transféré par

isaya2m77
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
117 vues6 pages

GDScript Essentiels Godot

Le document présente les bases essentielles de GDScript pour créer des jeux avec Godot, incluant des techniques de déplacement de personnages, de détection de collisions, et d'utilisation de signaux. Il fournit également des exemples de code pour gérer le score, changer de scène, et faire apparaître des ennemis. Un mini projet final est proposé, consistant en un jeu de tir simple en 2D, intégrant les concepts abordés.

Transféré par

isaya2m77
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les Bases Essentielles de GDScript pour Créer des Jeux avec Godot

1. Deplacement de base d'un personnage

Utilite : Permet de deplacer un personnage sur les axes X et Y avec le clavier.

Exemple :

```gdscript

extends CharacterBody2D

var speed = 200

func _physics_process(delta):

var direction = Vector2.ZERO

if Input.is_action_pressed("ui_right"):

direction.x += 1

if Input.is_action_pressed("ui_left"):

direction.x -= 1

if Input.is_action_pressed("ui_down"):

direction.y += 1

if Input.is_action_pressed("ui_up"):

direction.y -= 1

velocity = direction.normalized() * speed

move_and_slide()

```

2. Detection de collision avec is_on_floor()

Utilite : Verifie si le personnage est sur le sol, utile pour sauter.

Exemple :
Les Bases Essentielles de GDScript pour Créer des Jeux avec Godot

```gdscript

if is_on_floor() and Input.is_action_just_pressed("ui_accept"):

velocity.y = -300

```

3. Utiliser les signaux (ex: bouton clique)

Utilite : Reagir aux evenements dans l'interface utilisateur.

Exemple :

```gdscript

func _on_Button_pressed():

print("Bouton clique !")

```

4. Creer un projectile avec instance()

Utilite : Creer un objet dynamique a partir d'une scene (comme une balle).

Exemple :

```gdscript

var bullet_scene = preload("res://Bullet.tscn")

func shoot():

var bullet = bullet_scene.instantiate()

bullet.position = position

get_parent().add_child(bullet)

```
Les Bases Essentielles de GDScript pour Créer des Jeux avec Godot

5. Gerer le score avec une variable globale

Utilite : Conserver et mettre a jour un score entre les scenes.

Exemple :

Dans un autoload (singleton appele Global.gd) :

```gdscript

var score = 0

```

6. Detecter des touches avec Input.is_action_pressed()

Utilite : Reagir aux entrees clavier personnalisees.

Exemple :

```gdscript

if Input.is_action_pressed("ui_left"):

position.x -= 10

```

7. Changer de scene avec change_scene_to_file()

Utilite : Passer d'une scene a une autre.

Exemple :

```gdscript

get_tree().change_scene_to_file("res://scene2.tscn")

```

8. Utiliser un Timer pour un delai

Utilite : Declencher une action apres un certain temps.


Les Bases Essentielles de GDScript pour Créer des Jeux avec Godot

Exemple :

```gdscript

func _on_Timer_timeout():

print("Temps ecoule !")

```

9. Lire une animation avec AnimationPlayer

Utilite : Lancer une animation definie dans le node AnimationPlayer.

Exemple :

```gdscript

$AnimationPlayer.play("run")

```

10. Faire apparaître des ennemis (spawn aleatoire)

Utilite : Generer des objets de maniere dynamique a differents endroits.

Exemple :

```gdscript

var enemy_scene = preload("res://Enemy.tscn")

func spawn_enemy():

var enemy = enemy_scene.instantiate()

enemy.position = Vector2(randf() * 800, randf() * 600)

add_child(enemy)

```
Les Bases Essentielles de GDScript pour Créer des Jeux avec Godot

Mini Projet Final : Jeu de tir simple en 2D

Objectif : Deplacer un personnage, tirer des projectiles et marquer des points en touchant des ennemis.

Contenu :

- Deplacement du joueur

- Tir avec `shoot()`

- Apparition d'ennemis avec `spawn_enemy()`

- Detection de collision entre balle et ennemi

- Incrementation du score

Extrait de code de base :

```gdscript

# Player.gd

func _process(delta):

if Input.is_action_just_pressed("shoot"):

shoot()

func shoot():

var bullet = preload("res://Bullet.tscn").instantiate()

bullet.position = position

get_parent().add_child(bullet)

# Bullet.gd

func _on_body_entered(body):

if body.name == "Enemy":
Les Bases Essentielles de GDScript pour Créer des Jeux avec Godot

body.queue_free()

queue_free()

Global.score += 1

```

Ce mini projet peut servir de base a un jeu de type *arcade shooter*. À toi de l'enrichir !

Vous aimerez peut-être aussi