问题标签 [scene2d]

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 回答
406 浏览

java - 当设置边界太小时,Libgdx scene2d 触摸板会“反转”

我正在用 Java 和 Libgdx scene2d 制作游戏。这是我在构造函数中的代码:

然后在 resize() 我执行以下操作:

问题是当我将屏幕(我正在运行桌面版本)调整到足够小的宽度时,触摸板会以某种方式“反转”。当我触摸触摸板时,背景似乎在顶部并且正在移动。它给出的方向(percentX,percentY)也是它应该是负数。

为什么会发生这种情况,我该如何预防?

0 投票
2 回答
3031 浏览

libgdx - ImageButton 皮肤文件 scene2d (libgdx)

谁能指出我的Scene2d ImageButton的工作示例皮肤文件?基于 ImageButton 构造函数,这是我创建基本皮肤的失败尝试:

我在文档中的任何地方都找不到,尽管这里有一个 TextButton 皮肤文件的示例。

在 Libgdx 源代码中,有一个通过在此处以编程方式设置样式在 UI 测试中使用 ImageButton 的示例,但我希望避免在代码中设置样式。

0 投票
1 回答
177 浏览

libgdx - 使用操纵杆或游戏手柄遍历 scene2d 菜单

我想知道如何使用操纵杆、游戏手柄或键盘键轻松添加支持以使用 LibGDX 遍历我的 scene2d 菜单(表格)。

有谁知道应该怎么做?

0 投票
1 回答
1279 浏览

libgdx - libgdx - 组转换

我是 LibGDX 的新手。我在 show 方法中创建了带有演员的组并添加了侦听器(我在其中计算旋转矩阵)并希望使用 batch.setTransformMatrix(matrixResult) 旋转组中的所有演员;但什么也没发生。如何强制轮换组的所有演员?

Polygon 扩展了 Actor 的绘制方法:

0 投票
1 回答
315 浏览

java - LibGDX:皮肤+自定义坐标绘制不正确

我正在使用 libgdx 制作一个简单的游戏,我想使用 scene2Dui 和舞台和皮肤来简化我的很多定位/调整代码。

为了进一步简化所有内容的定位,我还想定义一个自定义坐标系,以便无论屏幕大小(以像素为单位)如何,代码都会自动创建网格叠加层并正确定位/调整我的所有元素。

我遇到的问题与这个新的坐标系以及它如何与皮肤一起工作有关。基本上,我根据皮肤中的样式创建一个按钮,并将其放在一个表格中,以根据我的坐标调整大小。我还创建了一个图像,但这次直接加载该区域并自行定位。

调试行显示按钮本身工作正常,并且在点击方面表现如预期;如果我在表外单击,尽管图像被炸毁,但没有任何反应。调整窗口大小也会按预期运行。

在某个地方,舞台必须询问皮肤按钮的图片有多大,它以像素为单位回答,它应该在我的坐标中回答。有没有办法将皮肤缩小到我的坐标,并在调整窗口大小时更新它?

以下是相关代码:

这就是它的样子

我在 scaleSkinToMatchScreen() 中放了什么来将所有皮肤的图片缩放到我的坐标?

0 投票
1 回答
197 浏览

java - 点击监听器不起作用

我在 Java LibGDX scene2dui 中因未知原因遇到了一些麻烦。我有这个代码:

我不知道为什么,但是 java 在@Override注释上给了我一个编译错误:

我在 Javac 1.6 中设置了我的 java 编译器(但也许该项目还有其他设置?)如果我注释掉它编译的注释,但点击时什么也不做。

编辑:我检查了导入,badlogic inputEvent 没问题。我的班级“实施”屏幕”。也许我应该“扩展”?

0 投票
3 回答
10648 浏览

java - libgdx - 如何在舞台上添加背景图片?

我正在学习 libgdx,但我被困在一个点上..

我在我的舞台上添加了一个按钮,现在我想在舞台上添加一个图像,以便图像看起来像按钮的背景图像。我的意思是说按钮应该位于图像上。我一直在寻找教程,但无法做到这一点。

怎么做到呢?有什么帮助吗?

0 投票
2 回答
2427 浏览

libgdx - 表格布局中的缩放图像演员不展开单元格

对不起,密集的标题:)

假设我有一个像这样创建的图像 Actor:

将其添加到表格中可以正常工作,并且可以正确显示,但是图像的缩放不会扩大表格的大小。

这是一个已知问题吗,有什么办法可以解决吗?

0 投票
1 回答
960 浏览

java - 使用 libgdx 和 scene2d 的触摸事件

我目前正在阅读一些关于 android 开发和 libgdx/scene2d atm 的教程,但卡在了 touchevents 上:

对于初学者,我正在实施棋盘游戏。到目前为止,我设法绘制了棋盘和一些 meeples(玩家令牌),并将它们的位置调整到正确的坐标。当我开始使用 libgdx 时,我还成功实施了第一次测试,以查看触摸输入是否正常工作。测试看起来像这样:

到现在为止,由于一些非常方便的功能,我重新安排了我的代码以使用 scene2d。然而,尽管我遵循了一些相当简单的教程,但似乎我无法让 touchevents 与 scene2d 一起工作。由于其中一些引用了最近对scene2d的一些重大更改,我想知道这些教程是否可能已经过时,希望你们能帮助我解决我的问题:) 我将尝试仅将我的代码的相关部分粘贴到此处以提供最小的我的非工作代码示例。当然,我也很高兴有关如何“改进”我的代码的任何提示,因为我仍在学习并且可能在这里打破一些约定^^

让我们从我的演员班开始:

因此,如果我做对了,gdx inputProcessor 将管理所有输入。如果我将 Gdx InputProcessor 设置为包含演员的舞台,它会在发生事件(例如 touchDown)的情况下调用舞台上所有演员的 inputProcessor。因此,由于我刚刚在我的类中添加了一个包含 touchDown 的类,因此它应该在实际触摸到 actor 的情况下处理 touchDown 事件。用于验证的命中框由我的 Player 类中的语句“setBounds”设置。

我在我的 ApplicationListener 类中实现了这个:

我无法弄清楚我缺少什么才能让 touchevents 正常工作。所以我希望你能帮助我:) 提前非常感谢!

0 投票
2 回答
1192 浏览

java - 场景2d:如何在场景/根处触发(事件)和处理?

我正在尝试将 touchDown 和 touchUp 事件从演员对象升级到我的 applicationListener 类。为此,我调用了 fire(event); 在我的演员的 InputListener

为了在我的 ApplicationListener 类(包含演员的舞台)中处理事件,我在舞台上添加了一个 InputListener

但是,当我触摸我的演员时,我会收到 StackOverflowError 以及来自多个 InputListener 的大量异常(我假设事件没有正确停止并传播到我场景中的所有演员)。我在这里想念什么?

同样,在触发事件后,我无法再将 event.getTarget() (这是一个 Actor)投射到我的 Actor-Subclass 中,如果我在 ActorSubclass 本身中执行此操作就可以了。这意味着以下代码在 ApplicationListener 中使用时会产生错误,但在 MyActor 类中有效:

由于目标实际上是一个 MyActor 对象,我如何不仅可以作为 Actor 访问它,而且可以作为 MyActor 访问它?