我的问题是关于GDscript中的代码(戈多引擎中的语言编程)

问题描述 投票:0回答:1

精灵(攻击)无法正常工作:

if Input.is_action_just_pressed("ui_attack"):

   $Sprite.play("attack")

但以防万一:

if Input.is_action_pressed("ui_attack"):

$Sprite.play("attack")

它正在工作!!!!

什么是解决方案代码请求?!!因为我想在键盘上点击一下才能使用sprite ...

godot gdscript
1个回答
0
投票

你尝试过使用if event.is_action_pressed("ui_attack"):吗?我发现eventInput效果更好,如果我只想按一下按钮而不是多次动作。

如果仍然无效,请尝试添加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.我在过去一周左右才发现了戈多,但从那时起我一直在崩溃。我喜欢引擎,但如果我的理解是“基本的”,请原谅我。)

© www.soinside.com 2019 - 2024. All rights reserved.