Player
Sat Dec 16 2023 18:24:22 GMT+0000 (Coordinated Universal Time)
Saved by
@EDRO
extends CharacterBody2D
@onready var knife = preload("res://Scenes/knife.tscn")
@export var SPEED : int = 150
@export var JUMP_FORCE : int = 255
@export var GRAVITY : int = 900
var is_attacking = false
var can_trow = true
func _physics_process(delta):
var direction = Input.get_axis("Left","Right")
if direction:
velocity.x = SPEED * direction
if is_on_floor() and is_attacking == false:
$Flip/AnimatedSprite2D.play("Run")
else:
velocity.x = 0
if is_on_floor() and is_attacking == false:
$Flip/AnimatedSprite2D.play("Idle")
# Rotate
if direction == 1:
$Flip.scale.x = 1
elif direction == -1:
$Flip.scale.x = -1
# Gravity
if not is_on_floor():
velocity.y += GRAVITY * delta
if velocity.y > 0:
$Flip/AnimatedSprite2D.play("Fall")
# Jump
if is_on_floor():
if Input.is_action_just_pressed("Jump"):
velocity.y -= JUMP_FORCE
$Flip/AnimatedSprite2D.play("Jump")
# Trow
if Input.is_action_just_pressed("Trow"):
if can_trow:
can_trow = false
$Flip/AnimatedSprite2D.play("Trow")
is_attacking = true
var k = knife.instantiate()
k.vel = $Flip.scale.x
k.global_position = $Flip/TrowPos.global_position
get_parent().add_child(k)
if is_attacking:
velocity = Vector2.ZERO
await $Flip/AnimatedSprite2D.animation_finished
is_attacking = false
can_trow = true
move_and_slide()
content_copyCOPY
Comments