mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
30 lines
913 B
GDScript
30 lines
913 B
GDScript
extends Enemy
|
|
|
|
var falling := true
|
|
var target_player: Player = null
|
|
var can_rise := true
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
target_player = get_tree().get_first_node_in_group("Players")
|
|
if falling:
|
|
global_position.y += 32 * delta
|
|
if global_position.y >= target_player.global_position.y - 24 and can_rise:
|
|
rise_tween()
|
|
$Sprite.play("Fall")
|
|
else:
|
|
$Sprite.play("Rise")
|
|
|
|
func rise_tween() -> void:
|
|
falling = false
|
|
can_rise = false
|
|
var tween = create_tween().set_trans(Tween.TRANS_CUBIC)
|
|
var dir = sign(target_player.global_position.x - global_position.x)
|
|
var target_position := Vector2(32 * dir, -32)
|
|
var final_position = global_position + target_position
|
|
final_position.y = clamp(final_position.y, -176, 64)
|
|
tween.tween_property(self, "global_position", final_position, 0.75)
|
|
await tween.finished
|
|
falling = true
|
|
await get_tree().create_timer(0.25, false).timeout
|
|
can_rise = true
|