问题标签 [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 投票
0 回答
142 浏览

godot - 为什么这个变量在 gdscript 中不断变为 false?

我正试图让这个脚本保持原状。当玩家跳跃时,它应该是地面并开始移动而不是停止。但是,它只有在玩家跳跃时才会移动。

我的代码:

Jumped 有一半是假的,另一半是真的。

0 投票
1 回答
1059 浏览

godot - 我在 GODOT 中的 move_and_slide 和 move_and_colide 函数有问题

我试图创建一个基本的进化模拟器,为此我需要我随机创建的生物向最近的食物移动。我对获取生物方向的代码很有信心,因为我已经通过按预期数量修改位置来测试它(是的,我知道我不应该直接改变位置)。然后当我使用其中一个时move_and_slidemove_and_collide我发现它们没有按预期移动,而是跳到一条线或沿着窗口中心聚集,并且似乎随机上下移动。我不确定是什么导致了这种运动,因为我过去的所有使用move_and_slidemove_and_collide工作都非常好。

当生物在“模拟”场景中被实例化时,此代码被外部调用。这food_positions是用于计算所需方向的 Vector2 数组。因为它是从另一个场景调用的,所以我需要在使用move_and_collide.

的代码choose_direction如下:

它还没有完全完成,我计划在未来添加一些内容。

请注意,这是生物场景的一部分,在模拟场景中动态实例化,该场景是预实例化/主场景的一部分,用于控制和以后的可用性。

git hub 存储库是:https ://github.com/benpotter480/Evolution_simulation_that_doesnt_work

抱歉,如果我的存储库的某些部分没有正常显示,因为我是新手。

感谢您的任何建议。

0 投票
1 回答
965 浏览

godot - 实例化对象区域 2D 是否检测不到鼠标

我正在尝试获取一个动态实例化的 kinematicBody2D,其附加了一个区域 2D 以处理鼠标输入/退出输入。我已经用正确的碰撞体创建了我的 2D 区域,并测试了一个类似的碰撞体来检测一些 2d 区域,这工作很愉快,但是,鼠标检测并没有按应有的方式触发该功能。

我不确定为什么它似乎没有检测到我的鼠标。我假设我错误地弄乱了面具,并且不在同一级别,但是查看一些文档并不认为这是一个问题。

我不确定要附加什么代码,因为此时它还没有真正编码。

任何帮助,将不胜感激。

0 投票
1 回答
491 浏览

godot - Timer.start() 未按预期调用

我是godot和编程的新手。我在实现 Timer 节点时遇到问题。我正在编写一个简单的脚本来实现类似 zelda 的相机系统。相机系统按预期工作,但是我想在相机 lerp 期间冻结角色(最终是 npc)。我打算为此尝试使用计时器,而那是我遇到障碍的时候!

我添加了一个输入键,看看我是否可以这样启动计时器。我可以。但是有一件奇怪的事情:只有当相机处于原始位置时,才能使用输入键启动计时器。一旦相机完全移动,输入键就不再起作用,即使回到原来的位置。

我是否从根本上误解了如何使用计时器节点?感谢您的时间和帮助一个人!

0 投票
1 回答
510 浏览

syntax-error - 基础 Nil 中不存在的函数 get_viewport

我正在运行一个脚本:

我收到一个错误:基数 Nil 中不存在函数 get_viewport 我在其他人的 get_rect 和其他函数脚本上看到了这个错误,但对此没有任何影响。我是 GoDot 的新手,所以请放轻松:)

0 投票
1 回答
229 浏览

godot - 动态创建动画以显示文本

我目前正在尝试动态创建动画并播放它以根据文本的长度和每秒字符的设定速度来显示文本。

我试图在代码中重新创建的是这个动画: 所以在标签的属性上有一个属性轨道的动画,更新模式是连续的,插值模式是线性的
编辑器中的动画轨道
visible_characters

场景结构如下:
场景结构

DialogBox 节点后面的脚本:

Text出于测试目的,正在使用导出的变量在编辑器中设置文本,并且是一些 lorem ipsum。

当我运行场景时,会发生面板和标签显示,但标签中没有显示文本,它保持为空,但根据打印语句,show-text动画正在播放

输出窗口中的打印数据为:

** 调试过程已启动 **
Godot Engine v3.1.2.stable.mono.official - https://godotengine.org
OpenGL ES 3.0 渲染器:AMD Radeon R7 200 系列
标签文本:Magnam consequatur vel alias earum accusantium。Nobis voluptatem voluptatem quaerat adipisci voluptas。Numquam id error earum consectetur veniam。Quaerat quibusdam quas sunt alias et blanditiis corporis。Cupidate rem ut natus est molestiae quidem。Magnam consequatur vel 别名 earum accusantium。Nobis voluptatem voluptatem quaerat adipisci voluptas。Numquam id error earum consectetur veniam。Quaerat quibusdam quas sunt alias et blanditiis
动画长度:4.44
正在播放:真正
的当前动画:显示文本
** 调试过程已停止 **

0 投票
1 回答
402 浏览

godot - Godot 3.1 变量未在范围错误中声明

编辑:这是 GDScript,不确定这是否明显。

我是一个为 Godot 3.1 学习 GDScript 的爱好者。

我只是在尝试一些东西,但我不明白为什么我的代码会抛出这个错误:

ubMyAge 未在此范围内声明。

它出现在 func _on_GenerateUnboundAttributes_pressed(): 代码的底部部分。

如果我把它放在 generate_age() 函数中,甚至会发生错误。我错过了什么?

谢谢你的时间!

0 投票
1 回答
491 浏览

gdscript - 枚举和静态类型

我在一些 gdscript 代码中声明了一个枚举。

然后,我想将一些变量声明为该类型的枚举。

这可能吗。我知道 GDScript 允许声明 var 的静态类型。我使用的每种语言都允许您将枚举视为 var。

以下代码为我产生以下错误...

解析器错误:标识符“XDir”不是有效类型(不是脚本或类),或者无法在基础“self”上找到。

0 投票
1 回答
155 浏览

csv - 有没有办法将文件设置为在 GODOT 中只读

我正在使用 CSV 文件将数据保存为游戏的一部分,并希望将其设置为只读,以便用户无法修改它(系统专为经验不足的用户设计)。

有没有办法保存这些文件,使它们是只读的?

0 投票
2 回答
1547 浏览

game-engine - 在 GD 脚本中将变量的名称作为字符串获取

我一直在互联网上到处寻找解决方案,但在任何地方都看不到一个脚本,它可以让我在 Godot 3.1 中将变量的名称读取为字符串

我想做的事:

  1. 将路径名称保存为变量。
  2. 将路径变量的名称作为字符串与另一个字符串的值进行比较并打印路径值。

例如 -

将变量名称作为字符串与字符串进行比较的函数 -

提前致谢!