Godot Tapping 游戏建议

Posted

技术标签:

【中文标题】Godot Tapping 游戏建议【英文标题】:Godot Tapping Game Advice 【发布时间】:2021-07-22 05:13:52 【问题描述】:

我想制作一款反应游戏,例如 Aim Lab 的“Circle Shot”移动游戏。因此,用户将需要点击出现的圆圈,而不是拍摄。如果我让它尽可能简单,我应该为圆圈使用什么节点?精灵或纹理按钮?

我还想问一下如何包含圆圈,以免它们超出范围。我是使用网格容器还是其他东西?

【问题讨论】:

使用TextureButton 会更容易制作原型,但它是Control,您可能想也可能不想使用Node2D(我假设这是一个2D 游戏)取决于你想创造什么。 “如何包含圆圈,使它们不会越界”您只是不会越界。老实说,去努力吧,当你遇到问题回来问。 如果我不使用单例,我应该把 spawnCircle() 和 popCircle() 等函数放在哪里?我应该将它放在附加到场景父节点的脚本中吗? 【参考方案1】:

为什么?

这个问题在某些方面很奇怪:

    为什么要使用 TextureButton? TextureButton实际上是一个Control节点,一个Control节点主要用于UI场景。 我并不是说不能使用 TextureButton 来创建游戏而不是创建 UI,但我的意思是这不是最好的方法。 为什么要使用 Sprite? 您不能为此使用 Sprite,因为您无法点击它。 Sprites 用例用于创建动画,只是在场景中有一张图片,可能是背景用例等。

那又怎样?

我主要建议的是使用:

    KinematicBody2D:此节点是 Node2D 类型,您可以通过附加脚本轻松地在屏幕上移动它。 您可以为它模拟物理并使用 move_and_slide()move_and_collide() 等函数移动它。 RigidBody2D:这个节点也是一个Node2D类型,你可以很容易地模拟一个质量,重力和重量让它有一个不能自己移动但可以移动的物体通过环境力(如拳头、重力或...)移动。

怎么做?

这些节点中的每一个都继承自具有 3 个信号的 CollisionObject2D 节点:

    mouse_entered():当鼠标指针(在本场景中为手指)进入此对象的任何形状时发出。 mouse_exited():当鼠标指针(在本场景中为手指)退出此对象的所有形状时发出。

通过这些信号,您可以了解字符手指是否在圆圈内。重要提示:我实际上并没有亲自测试过,因为我不是在移动设备上开发,而是通过我在为 pc 开发游戏方面的一点经验,这些应该可以。

建议

还要时刻关注最新的稳定 godot documentation,看看是否有其他更好的解决方案或更好的节点来处理您的情况。

【讨论】:

如果我计划创建的圆圈完全不动,你认为 RigidBody2D 会比 Texture Button 更容易使用吗?它只会出现并停留在那里,直到计时器用完或用户点击它。 如果这是您要查找的内容并且您根本不想移动圆圈,TextureButton 将满足您的需求,但也许您会发现一些复杂性,因为 TextureButton 是一个控制节点并使用一个基于它创建整个游戏的控制节点,不是创建游戏的最佳方式,但正如我所说,它是可以做到的。希望你能处理好这种情况并享受编码的乐趣。 @newbie112 @newbie112 如果你只是接受我的回答,那会让我很开心。 :)

以上是关于Godot Tapping 游戏建议的主要内容,如果未能解决你的问题,请参考以下文章

Godot实用代码1000例

Godot 2D 和 3D 游戏引擎

Godot 2D 和 3D 游戏引擎

当Godot游戏引擎遇上物联网,可以开出怎样的花

tapping of data 词义来源

Godot游戏引擎 3.0 Beta2 于12月21日发布