问题标签 [gdscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1123 浏览

parallax - 如何在不受玩家时刻影响的情况下为视差层添加运动?例如背景中的云

我正在开发具有三个视差层(天空、山脉和云)天空和山脉层根据视差层的运动比例属性移动的 2D plaformer 游戏,并且我已经向云层添加了一个脚本,以便它继续向一个方向移动即从右到左,即使玩家空闲或不移动。但我遇到了一个问题,即当玩家移动或跳跃时,云也会获得跳跃效果并继续跟随玩家。无论玩家时刻如何,如何使云向一个方向移动?我的云脚本:

这是图片供参考

0 投票
1 回答
944 浏览

game-engine - Godot 3.1 - 动态加载资源

我正在尝试动态加载资源。它在计算机上正常工作,但在android上出现以下错误:

内置函数“dict2inst”中的类型无效。无法将参数 1 从 Nil 转换为 Dictionary。

我正在尝试加载一些之前导出的 Curve2D。这是代码:

0 投票
1 回答
508 浏览

godot - 如何在 Godot 中的按钮上设置“StyleBoxEmpty”?

我正在尝试删除出现在 Godot 中聚焦按钮周围的蓝色框。我在这里看到可以使用“StyleBoxEmpty”来完成,但是示例图片是一个断开的链接。我查看了所有节点属性,但找不到。有人可以澄清如何启用此属性吗?

0 投票
1 回答
3706 浏览

arrays - 在 API 期间 godot 无效获取索引“-1”(在基础“数组”上)

我正在制作一个显示对话、选择、精灵、音频等的 API,在youtube上查找此视频后,我能够做到这一点,但我不断收到此错误invalid get '-1' (on base 'array'),这是我的代码,所以你可以看到

有人说这是因为我没有定义数组的大小,有人说我的代码以某种方式将播放器设置为整数真的很奇怪。我已经检查了数组文档页面,但什么也没想到,我已经更改了代码中的一些小东西,但它仍然会产生同样的无效错误。

需要注意的一件事是它确实显示了对话和名称,我只是在之后立即收到错误。

0 投票
1 回答
206 浏览

godot - 在节点上使用 queue_free() 或 free() 后如何使用 get_children()?

我有一个主节点 A 和一个名为“B”的 A 子节点,问题是当我 queue_free()到节点 b 并尝试查看 A 中有多少节点它给了我相同的数字。get_children()我正在通过使用inside_physics_process(delta)函数来测试A 中有多少个节点用于测试目的。

0 投票
1 回答
358 浏览

godot - 全局变量数据未通过 [Godot.2.15]

我在 Godot 中创建了一个“加法心算计算器”,用户在点击“on_Button_pressed”按钮时会看到一个新问题,总和存储在“global var c”中,然后通过“Lineedit”访问输入并存储在“var d”中。但是,当传递“var c”以与“Lineedit”中的“var d”进行比较时,它传递了一个“Null”值。如何在两个函数之间传递值。

0 投票
1 回答
1015 浏览

signals - Godot - 任何跟踪信号的方法?

信号是 Godot 脚本的一个基本特征,但我正因为它们而苦苦挣扎。

在动态连接和发出信号时,我总是弄错信号的名称(例如,实际上是“create_server”时的“start_server”)。最重要的是,信号无处不在。我使用的其他消息传递模式通常为侦听器提供一个通用的发布者来订阅,从而使侦听和调试通信变得容易。在 Godot 中,一切都直接连接到其他一切。他们上场景树,下树,再到兄弟姐妹。正因为如此,一旦游戏变得非常大,我发现跟踪正在发生的事情非常令人沮丧。

我喜欢这个引擎的一切,但这太让人抓狂了。 有没有办法跟踪这些信号,这样我就可以减轻这些小但非常频繁且难以发现的信号错误?

0 投票
2 回答
700 浏览

godot - 传送节点

我正在尝试传送我的播放器节点(kinematicbody2d),当它从 Finish 节点的一侧击中我的完成节点(area2d)时
我正在使用 godot 3

我尝试
了什么:使用 get_node("player").set_pos 和 get_node("player").location 更改位置

代码:

所以我需要的是:
游戏被传送到 1504、1896

0 投票
1 回答
6824 浏览

function - Godot 和 GDScript 可以将函数存储在变量中吗?

我对GDScript 语言的 Godot Docs 的一部分感到困惑。大约在页面的中间,在“引用函数”部分,它说您不能将函数存储在变量中,然后似乎立即自相矛盾。

Godot函数是否可以存储在变量中?

引用函数

与 Python 不同,函数不是 GDScript 中的第一类对象。这意味着它们不能存储在 variables 中,作为参数传递给另一个函数或从其他函数返回。这是出于性能原因。

要在运行时按名称引用函数(例如,将其存储在变量中,或将其作为参数传递给另一个函数),必须使用 call 或 funcref 帮助器:

0 投票
1 回答
706 浏览

godot - Navigation2d 在 Godot 中与 move_and_slide 一起使用

为了清楚起见,重写和编辑。假设我有一个 2d 平台游戏,如下例所示:

https://github.com/godotengine/godot-demo-projects/blob/master/2d/kinematic_character/player.gd

现在...假设我有玩家位置(vector2)和敌人位置(vector2)。敌人的移动就像上面例子中的玩家一样。我使用 get_simple_path 来构建从敌人位置到玩家位置的预先存在的点数组。如何使用带有 move_and_slide 的数组将敌人从 A 点带到 B 点?