gestion erreur + meilleurs déplacement hors screen

This commit is contained in:
Mylloon 2021-04-07 20:19:14 +02:00
parent 19bdcabbf6
commit a3709218ab
2 changed files with 11 additions and 8 deletions

View file

@ -1,19 +1,21 @@
extends KinematicBody2D extends KinematicBody2D
var deplacement = Vector2() var deplacement = Vector2()
var ecart = 260 var ecart = 270
var vitesse
func _ready(): func _ready():
pass pass
func _physics_process(_delta): func _physics_process(_delta):
var Joueur = get_parent().get_node("Joueur") # récupère le joueur var Joueur = get_parent().get_node("Joueur") # récupère le joueur
if (Joueur.position.x + ecart) > position.x and (Joueur.position.y + (ecart + 10)) > position.y:
vitesse = 50 # se déplace vers le joueur
else:
vitesse = 10000 # se déplace lentement, pas immobile
position += (Joueur.position - position) / vitesse # déplacement
if (Joueur.position.x + ecart) > position.x and (Joueur.position.y + ecart) > position.y: var _resultMoveAndCollide = move_and_collide(deplacement) # empeche la superposition des ennemis + déplacement
position += (Joueur.position - position) / 50 # rapidité
look_at(Joueur.position) # regarde le joueur
move_and_collide(deplacement) # empeche la superposition des ennemis
func _on_Area2D_body_entered(body): func _on_Area2D_body_entered(body):
if "Balle" in body.name: if "Balle" in body.name:

View file

@ -7,7 +7,7 @@ var balle = preload("res://scenes/Balle.tscn")
func _ready(): func _ready():
pass pass
func _process(delta): func _process(_delta):
var deplacement = Vector2() # déplacement du personnage var deplacement = Vector2() # déplacement du personnage
if Input.is_action_pressed("haut"): # vers le haut if Input.is_action_pressed("haut"): # vers le haut
@ -33,7 +33,8 @@ func tir():
get_tree().get_root().call_deferred("add_child", objectBalle) # ajout de la balle get_tree().get_root().call_deferred("add_child", objectBalle) # ajout de la balle
func mort(): func mort():
get_tree().reload_current_scene() # reccomence au début if get_tree().reload_current_scene() != OK: # reccomence au début
print("Une erreur est survenue lors du rechargement de la scène.")
func _on_Area2D_body_entered(body): func _on_Area2D_body_entered(body):
if "Ennemi" in body.name: # collision avec l'ennemi if "Ennemi" in body.name: # collision avec l'ennemi