Player throw back the ball from walk or idle state

This commit is contained in:
Mathilde Grapin 2023-06-18 20:30:25 +02:00
parent 1aff1c2e38
commit 332c0fb0e1
16 changed files with 165 additions and 25 deletions

22
scripts/ball/ball.gd Normal file
View file

@ -0,0 +1,22 @@
class_name Ball
extends CharacterBody2D
const Y_OFFSET = -10
var speed = 100
var target = Vector2.ZERO
@onready var tile_map: TileMap = get_parent()
func _ready():
target.y += Y_OFFSET
var player = get_node("/root/Main/TileMap/Player")
assert(player)
player.hit.connect(_on_player_hit)
func _physics_process(delta):
position = position.move_toward(target, delta * speed)
func _on_player_hit():
var rand_cell: Vector2i = tile_map.get_random_top_cell()
tile_map.reset_and_set_target_cell(rand_cell)
target = tile_map.map_to_local(rand_cell) + Vector2(0, Y_OFFSET)