Godot函數(shù)

await get_tree().create_timer(3).timeout
queue_free()

等待三秒后,

對(duì)自身及其節(jié)點(diǎn)樹下子進(jìn)行銷毀 / 摧毀節(jié)點(diǎn)


@export var bullet_scene : PackedScene

獲取bullet場(chǎng)景,需要在檢查器里賦予快速加載Bullet場(chǎng)景 / 生成PackedScene場(chǎng)景


@export var animator : AnimatedSprite2D

獲取動(dòng)畫,同樣需要在檢查器里賦予同場(chǎng)景下的AnimatedSprite


if not is_game_over:

# print(Input.get_vector("left","right","up","down") * move_speed)

velocity = Input.get_vector("left","right","up","down") * move_speed

if velocity == Vector2.ZERO:

animator.play("idle")

else:

animator.play("run")

判斷移動(dòng)速度來播放動(dòng)畫


func _on_body_entered(body: Node2D) -> void:

if body is CharacterBody2D:

body.game_over()

在怪物代碼里,用信號(hào) 函數(shù)作碰撞判斷,判斷是否與角色碰撞


func _on_area_entered(area: Area2D) -> void:

if area.is_in_group("bullet"):

給bullet建立場(chǎng)景組,同是用信號(hào) 函數(shù)作碰撞判斷,判斷是否與子彈碰撞


func _physics_process(delta: float) -> void:

position += Vector2(bullet_speed, 0) * delta

增加自身的移動(dòng)速度


func _on_fire() -> void:

if velocity != Vector2.ZERO or is_game_over:return

var bullet_node = bullet_scene.instantiate()

bullet_node.position = position + Vector2(14, 7)

get_tree().current_scene.add_child(bullet_node)

角色樹里添加一個(gè)Timer,信號(hào)里添加函數(shù),timeout()

判斷是否移動(dòng)及是否游戲結(jié)束。返回

初始化節(jié)點(diǎn),獲取一個(gè)新bullet,

獲取角色位置+偏移位置,賦予bullet位置

加載當(dāng)前場(chǎng)景,添加子場(chǎng)景/節(jié)點(diǎn)



自動(dòng)生成

在主場(chǎng)景添加一個(gè)Timer節(jié)點(diǎn),設(shè)置簡(jiǎn)隔時(shí)間3.0S,自動(dòng)開始啟用。

然后在點(diǎn)節(jié)點(diǎn)信號(hào) 使用timeout()


@export var spawn_timer : Timer

func _on_timer_timeout() -> void:

var slime_node = slime_scene.instantiate()

slime_node.position = Vector2(260, randf_range(50, 115))

get_tree().current_scene.add_child(slime_node)

公開timer變量,在檢查器加載節(jié)點(diǎn)樹下的timer

在timeout函數(shù)里,初始化一個(gè)新的slime,設(shè)置位置,然后添加到場(chǎng)景樹下



Canvas Layer 用來添加界面UI

AudioStreamPlayer


Timer?

timer.start()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容