【问题标题】:How do I change the position of a node in a script?如何更改脚本中节点的位置?
【发布时间】:2020-03-06 02:21:22
【问题描述】:

我需要帮助找到一种方法来更改脚本中节点的位置,我正在使用一个变量来告诉我玩家何时面向左侧,并且我想要手臂(一个单独的节点,所以它可以看起来在光标处)以在玩家左转/右转时改变位置。

一些代码:

var isFacingLeft = true

func Get_Input():
    $ArmSword.look_at(get_global_mouse_position())

func _physics_process(_delta):
    Get_Input()        

“ArmSword”节点是手持剑的手臂的精灵节点,这是我需要更改位置的节点,这不是所有代码,我只是删除了控制内容,这几乎是所有就玩家而言,我现在有。

【问题讨论】:

  • 我很乐意提供帮助,但很难从您的描述中看出。您是否可以发布代码示例,或者至少是您的节点结构的概要?
  • 我添加了更多信息。这够了吗?
  • 对不起,很难从这件事上判断发生了什么。你有什么问题?首先,将global_mouse_position 存储为变量(例如:var mousepoint = get_global_mouse_position)可能会有所帮助,然后调用$ArmSword.look_at(mousepoint)。这必须全部在_process()_physics_process() 函数内。
  • 另外,如果您在旋转剑时遇到问题,请尝试将空间节点附加到播放器,然后将剑附加到空间节点。然后,您可以将空间节点用作旋转点并让它旋转,而不是尝试旋转剑节点。
  • 问题是我真的不知道如何通过脚本移动节点位置。旋转很好。

标签: godot gdscript


【解决方案1】:

我认为$ArmSword.position = (some Vector) 应该这样做。

【讨论】:

    猜你喜欢
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    相关资源
    最近更新 更多