pir-serious-game-ethics/mini-game/scripts/player2.gd
2021-04-08 12:17:48 +02:00

80 lines
1.3 KiB
GDScript3

extends KinematicBody2D
var vitesse = Vector2.ZERO
var score = 0
export var jump_vitesse = 600.0
export var gravite = 20.0
enum {
RUN,
JUMP,
IDLE
}
var player_enabled = false;
var state = RUN
var au_sol = true
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
onready var animation = $AnimatedSprite
# Called when the node enters the scene tree for the first time.
func _ready():
stop()
Signals.connect("gain",self,"increase_score")
Signals.connect("die",self,"player_die")
func _physics_process(delta):
if player_enabled:
match state:
RUN:
animation.play("run")
JUMP:
vitesse = Vector2.ZERO
vitesse.y -= jump_vitesse
animation.play("jump")
state = IDLE
IDLE:
pass
vitesse.y += gravite
move_and_collide(vitesse*delta)
func _input(event):
if player_enabled and state == RUN and event.is_action_pressed("ui_accept"):
state = JUMP
func _on_Area2D_body_entered(body):
if body is StaticBody2D:
state = RUN
func _on_Area2D_body_exited(body):
if body is StaticBody2D:
state = JUMP
func increase_score(scoretoadd):
score+=scoretoadd
Signals.emit_signal("update_score",score)
func player_die():
stop()
func start():
show()
player_enabled = true
func stop():
hide()
player_enabled = false