问题标签 [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 回答
1361 浏览

game-physics - Godot 3.0 在运行时更改碰撞框

在我在 Godot 的(第一个)项目中,一个简单的平台游戏,我想让角色滑动。当角色滑动时,他应该只有一格高,这样他就可以穿过更小的间隙。因为我不知道任何更好的解决方案,所以我像这样更改了 hitboxes:

(我也用一个单独的碰撞箱来行走)

这不是一个很好的解决方案。最近,我的代码变得更加复杂,因为我添加了不同的重力方向,这将导致 12 个不同的碰撞箱。我还没有找到更好的解决方案来做到这一点,但我觉得必须有一个。

那么有人可以帮我解决这个问题吗?

0 投票
1 回答
2360 浏览

game-physics - Godot KinematicBody2D 碰撞重叠

我正在尝试创建可以通过某些实例的其他碰撞框移动的 kinematicBody。然后,一旦用户按下某个输入,我想查看所有碰撞并以某种方式处理它们。当玩家移动到其中时,我已经创建了所有处理碰撞的东西,但是我希望玩家能够站在物品上方,然后检查移动的 Vector2(0,0) 是否会与地板上的任何物体发生碰撞。

也许这不是最好的方法,如果有更好的建议来处理如何处理与其他对象碰撞的 kinematicBody2D 对象并能够从它们上面走过,我很想听听。

0 投票
2 回答
853 浏览

game-engine - GdScript 获取碰撞时的节点路径

假设您有多个区域,当一个区域重叠时,您希望脚本获取重叠节点的节点路径。简而言之,您如何获得重叠节点的节点路径。谢谢

0 投票
1 回答
330 浏览

game-engine - 将来自玩家的物品添加到瓷砖地图 godot

我正在尝试将玩家库存中的物品掉落到地板上。目前,我将项目存储为 kinematicBody2Ds,这可能会改变,但我想通过 GDScript 在地图上创建一个节点。

是否可以在此过程中从已创建的 TSCN 文件创建项目以避免冗余?

0 投票
1 回答
3749 浏览

3d - 如何在 Godot 引擎中拖动 KinematicBody (3D)

我目前正在开发一款游戏,玩家可以在其中堆叠一堆 3D 对象,所以我想让他们拖动一个对象并将其放置在上面。

我已经用谷歌搜索了很多次如何拖动/制作对象以跟随鼠标光标,但不幸的是我还没有找到方法。如果有人知道该怎么做,请告诉我。

在这里,我附上了我的代码。它检测到鼠标位置,但是当我单击屏幕时,对象会向上移动,根本不跟随光标。

0 投票
1 回答
1221 浏览

instance - 对象的实例没有出现在 Godot 中

所以我基本上创建了 5 个 KinematicBody2D 实例。之后,我将每个实例的位置设置为特定的生成点(我的意思是第一个实例到第一个生成点,第二个实例到第二个生成点,等等)。问题是实例没有出现。我打印了它们的位置,每个实例与它应该去的生成点具有相同的坐标。

这是我的代码:

0 投票
2 回答
850 浏览

godot - 为什么我的 path2d 位置没有更新?

我按照我的第一篇游戏文章中的说明创建了一个新的 path2d:http ://docs.godotengine.org/en/3.0/getting_started/step_by_step/your_first_game.html

我想移动屏幕上的“盒子”,这样我就可以看到小怪是如何产生的,但是当我运行场景时,它就离开了屏幕。

我创建了一个新的 path2d,将它置于屏幕中间,它的工作方式与我想要的一样,但现在我在编辑器中移动它并不会更新游戏中的位置。

这是怎么回事?

谢谢

在此处输入图像描述

0 投票
1 回答
1537 浏览

godot - 如何在 Godot 3 中添加 3D 场景的多个实例?

我正在使用 Godot 3.0.6。我可以通过按键来实例化一个场景,但只有一次。这是我在 GDScript 中的代码:

如果我尝试在场景中添加多个立方体,则会收到错误消息:

无法将子 'Cube' 添加到 'root',已经有一个父 'root'。

我究竟做错了什么?

0 投票
1 回答
263 浏览

json - 有没有办法在 GDScript 中定义一个 to_json 处理程序?

我是 GDScript 的新手,正在研究如何最好地将数据保存到文本文件中。to_json适用于基本类型,但我只获得任何自定义类的参考 ID。理想情况下,我希望将包含一些自定义类元素的数据字典传递给to_json并让它一次全部转换。

像其他语言提供toString打印对象的方法一样,有什么可以让我指定类实例应如何转换为 JSON 的吗?

0 投票
2 回答
6213 浏览

2d - Godot 使项目跟随鼠标

我正在 Godot 3.0 中制作 2D 平台游戏,我想让玩家使用鼠标瞄准(类似于泰拉瑞亚中的弓和枪)投掷/射击物品。我该怎么做呢?我正在使用 gdscript。