精灵(攻击)无法正常工作:
if Input.is_action_just_pressed("ui_attack"):
$Sprite.play("attack")
但以防万一:
if Input.is_action_pressed("ui_attack"):
$Sprite.play("attack")
它正在工作!!!!
什么是解决方案代码请求?!!因为我想在键盘上点击一下才能使用sprite ...
你尝试过使用if event.is_action_pressed("ui_attack"):
吗?我发现event
比Input
效果更好,如果我只想按一下按钮而不是多次动作。
如果仍然无效,请尝试添加if event.is_action_released("ui_attack"):
。您可能必须在之后添加一个额外的命令以使代码可以接受引擎,例如print("Key Released")
。在我的情况下,它永远不会打印任何东西到控制台,但它只给我一个按钮每按一次。
我假设这是你正在寻找答案的问题。如果没有,请不要理会,我整夜都很清醒,很容易混淆。
编辑:我忘了添加它必须在func _input(event)
功能才能正常工作。我已经包含了一个简单的示例,每按一次左按钮就会将文本打印到控制台。见下文:
extends Node2D
var text = PrintText()
func PrintText():
return("Print Text Once")
func _ready():
pass
func _input(event):
if event.is_action_pressed("ui_left"):
print(text)
(P.S.我在过去一周左右才发现了戈多,但从那时起我一直在崩溃。我喜欢引擎,但如果我的理解是“基本的”,请原谅我。)