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

canvas - 确定玩家是在摄像机视图 Godot 内部还是外部

将 GDScript 与 Godot 相机一起使用。我有一个 Camera2D 对象来处理视口变换。

我希望让相机移动,调整到屏幕分辨率并放大和缩小。我想确保当相机缩小时,它们不能移动到相机的视角之外。

播放器也是一个 KinematicBody2D 对象。我正在考虑播放器 testMove() 的一件事,并确定他们的新位置是否会被 Camera2D 生成的矩形包围。

0 投票
3 回答
2457 浏览

animation - Godot 跳跃动画只播放第一帧

我在我的简单平台游戏中有一个脚本,它说如果我的玩家在地面上并且按下“Z”,他在 Y 轴上的移动将上升到 600,如果他不在地面上,他会去执行跳跃动画。

所以事情是这样的,我知道它只播放跳跃动画的第一帧,因为代码不断检测玩家在空中。我想要一种方法来告诉代码只触发一次动画。

我尝试使用一个名为的函数,input_(event):但它似乎没有is_action_just_pressed输入类型,只是is_action_pressed.

我对 Godot 还很陌生,不知道如何使用信号。信号可能通过 提供帮助animation_finished(),尽管该功能可能与我在代码中实际想要做的事情无关。

这是我的代码:

0 投票
1 回答
1289 浏览

path-finding - 如何使 Godot 中的 AStar 适应平台游戏?

我一直在为我正在开发的基于平台游戏的游戏寻找一种强大的寻路方法,A* 看起来是最好的方法。我注意到Godot 中有一个AStar实现的演示。但是,它是为基于网格/图块的游戏编写的,我无法将其适应于 Y 轴受重力限制的平台游戏。

我找到了一个非常好的答案,它描述了如何将 A* 应用于 Unity 中的平台游戏。我的问题是......是否可以在 Godot 中使用 AStar 来实现上述答案中描述的相同目的?如果不使用内置的 AStar 框架,这是否可以做得更好?什么是它在 GDscript 中如何工作(有或没有 AStar)的一个非常简单的例子?

虽然我已经发布了 100 点赏金(并且已经过期),但我仍然愿意再发布 100 点赏金并奖励它,等待这个问题的答案。

0 投票
1 回答
1035 浏览

user-experience - 在 Godot 游戏引擎中切换到另一个场景时的幻灯片动画

我正在使用 godot 制作一个 GUI,我想要切换到另一个场景时的过渡动画,而不是使用即时更改(无动画)时get_tree().change_scene("MyOtherScene") 我试图模仿切换到另一个场景时的 ios 感觉。有什么功能可以做到这一点吗?

0 投票
1 回答
2234 浏览

scroll - 如何在 Godot 中实现触摸滚动

我正在为移动设备制作用户界面,我需要一种垂直滚动项目的方法,我设法使用滚动容器来做到这一点。但问题是它占用空间并且使用滑动手势不起作用,所以我的计划是让滚动条与屏幕大小相同并使其不可见。那么如何以及在哪里调整这些设置呢?或者有没有办法实现滑动手势滚动。

0 投票
1 回答
220 浏览

godot - 运动状态实施

我正在制作一个角色扮演游戏,玩家可以使用 WASD 键在世界各地自由移动;但是在战斗中,玩家会切换到由鼠标控制的基于战术网格的移动。我想用状态来完成这个;但我不知道如何正确地做到这一点。

这是我的运动机制代码:

我正在使用 Godot 的运动力学示例。

0 投票
1 回答
7968 浏览

godot - 如何更改脚本中的精灵?

我正在尝试将约会模拟作为简单的第一个游戏编程方式。我不知道如何更改脚本中的角色精灵。

character_sprite.gd

0 投票
1 回答
478 浏览

animation - GDscript:动画完成后射击子弹

我正在创建一个简单的 2d 平台游戏,我的问题是在我的一个动画中,需要在动画完成后创建子弹/骨骼。现在它会创建骨骼并同时启动动画。

我曾尝试将 Bone 弹丸的创建放在 onanimation_complete 下,但只有当我的角色面向左侧时(方向由按键“a”给出),它才会允许我射击。有什么我想念的吗?

如果有帮助,这里是代码。谢谢!

0 投票
0 回答
128 浏览

godot - 进入怪物视野时怪物自动射击

我是 gdscript 的新手,尝试在 godot3 中制作 2D 平台游戏,当玩家节点进入我用作视野的 area2D 时,我能够实例化一个火灾场景,但场景只实例化一次。我们如何继续实例化直到玩家进入视野(Area2D)之前的火灾场景?

我的 GDscript :

0 投票
0 回答
1285 浏览

godot - 拖放在 Godot 3 的网格容器中不起作用

我正在使用 Godot 为我大学的视频游戏开发俱乐部开发一款塔防游戏的 UI。我有代码可以将塔从菜单拖到板上,但它不能正常工作。我已经在一个单独的文件中对其进行了测试,它工作正常,但是一旦我在实际程序中运行它,它在 GridContainer 中有炮塔,它就会停止工作。当前每个炮塔都是一个TextureRect,它们都是GridContainer的子级,GridContainer本身又是另一个TextureRect的子级,后者是背景。最后,场景的根是一个 MarginContainer。

这是代码。它基本上只是官方的拖放演示,但针对 TextureRects 进行了修改。

所以我的问题是,当被拖动的东西在容器中时,我怎样才能使拖放工作?我可以在没有容器的情况下做到这一点,但这听起来会导致一些糟糕的 UI 设计,所以我真的不想这样做。