export var scene : PackedScene
먼저 이펙트 신을 불러온다
Area2D 노드에 CollisionShape2D를 노트를 생성하여
바닥에 닿았을 때와 플레이어와 충동했을 때 실행할 동작을 만든다
func _on_PlayerDetector_body_entered(body):
if body.is_in_group("player"):
body.die()
die()
if body.is_in_group("floor"):
die()
아래는 떨어지는 장애물의 GDScript이다
extends RigidBody2D
export var scene : PackedScene
func _ready():
$Sprite.frame = rand_range(0, 3)
func _on_PlayerDetector_body_entered(body):
if body.is_in_group("player"):
body.die()
die()
if body.is_in_group("floor"):
die()
func die():
#$PlayerDetector.collision_mask = false
#$Sprite.visible = false
var effect = scene.instance() as Sprite
effect.position = position
get_parent().add_child(effect)
#yield(get_node("AnimationPlayer"), "animation_finished")
#get_tree().reload_current_scene()
queue_free()
참고 영상
'고도(Godot Enguine) > 걸음마(Step by Step)' 카테고리의 다른 글
고도 사운드 넣기 / 걸음마 한계단 올라가기 성공! (0) | 2021.05.24 |
---|---|
고도 Layer 이름 정의 / AutoLoad GDScript추가 (0) | 2021.05.24 |
이동, 에니메이션, 충돌체 재정의 (0) | 2021.05.21 |
고도 Rand_range함수, Timer (0) | 2021.05.21 |
고도 Debug CollisionShape 보기 (0) | 2021.05.20 |