a NEW game mechanic??
This commit is contained in:
parent
c4da203de7
commit
7cc669e813
6 changed files with 334 additions and 3 deletions
34
objects/environment/stalactite/stalactite.gd
Normal file
34
objects/environment/stalactite/stalactite.gd
Normal file
|
@ -0,0 +1,34 @@
|
|||
extends Node2D
|
||||
|
||||
onready var cast = $RayCast2D
|
||||
export var speed = 80
|
||||
var fall = false
|
||||
onready var refresh_timer = $RefreshTimer
|
||||
onready var anims = $AnimationPlayer
|
||||
onready var startpos = position
|
||||
|
||||
func _physics_process(delta):
|
||||
if cast.is_colliding():
|
||||
var collider = cast.get_collider()
|
||||
if collider.is_in_group("player_hitbox") or collider.is_in_group("msx"):
|
||||
if fall == false: refresh_timer.start()
|
||||
fall = true
|
||||
|
||||
if fall == true:
|
||||
position.y += speed * delta
|
||||
|
||||
if !refresh_timer.is_stopped() && refresh_timer.get_time_left() <= 0.6:
|
||||
anims.play("disappear")
|
||||
|
||||
|
||||
|
||||
func _on_Hitbox_area_entered(area):
|
||||
if area.is_in_group("player_hitbox"):
|
||||
area.get_parent().die()
|
||||
|
||||
|
||||
func _on_RefreshTimer_timeout():
|
||||
call_deferred("set_position", startpos)
|
||||
fall = false
|
||||
anims.play("idle")
|
||||
anims.play("disappear", -1, -1.0, true)
|
Loading…
Add table
Add a link
Reference in a new issue