mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
added the game
This commit is contained in:
29
Scripts/Classes/Entities/Enemies/Blooper.gd
Normal file
29
Scripts/Classes/Entities/Enemies/Blooper.gd
Normal file
@@ -0,0 +1,29 @@
|
||||
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
|
Reference in New Issue
Block a user