提问人:Wave Computer 提问时间:11/13/2023 更新时间:11/13/2023 访问量:28
使用区域 2D 的 Godot body_exit函数
Godot body_exit function using area 2D
问:
我正在尝试创建一个代码,让我的暴徒能够在玩家处于设置的区域时追逐玩家。我的代码在玩家进入该区域时有效,但当玩家退出区域时不起作用。我认为问题出在body_exit信号上,但是当我检查它时,它似乎没有任何问题。这段代码来自一个 tutoiral 形式 freecodecamp godot 教程 2D 平台游戏。非常感谢您的帮助。
extends CharacterBody2D
var SPEED = 50
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
var player
var chase = false
func _physics_process(delta):
#Gravity for Frog
velocity.y += gravity * delta
if chase == true:
if get_node("AnimatedSprite2D").animation != "Death":
get_node("AnimatedSprite2D").play("Jump")
player = get_node("../../Player/Player")
var direction = (player.position - self.position).normalized()
if direction.x > 0:
get_node("AnimatedSprite2D").flip_h = true
else:
get_node("AnimatedSprite2D").flip_h = false
velocity.x = direction.x * SPEED
else:
velocity.x = 0
move_and_slide()
func _on_player_detection_body_entered(body):
if body.name == "Player":
chase = true
func _on_player_detection_body_exited(body):
if body.name == "Player":
chase = false
因此,当玩家不在该区域时,我尝试通过在函数中打印语句来进行调试。但是,问题是没有找到打印语句。所以我似乎无法说出问题出在哪里
答: 暂无答案
评论