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

java - 将 MVC 与 libgdx scene2d 一起使用

我开始使用 libgdx 开发游戏。这实际上是我的第二次尝试,因为当我开始第一次尝试时,我并不了解 libgdx。在我的第一次尝试中,我有一个带有逻辑和纹理的演员子类。然后我开始阅读Gustavo Steigerts 教程,我看到他试图将逻辑和视图分开。我尝试做同样的事情,但视图是我的演员子类,包含有关大小和位置的信息,所以它必须进行碰撞检测,这是逻辑的一部分。此外,如果您在 Google 上搜索,您会发现使用 Scene2d 无法执行 MVC。那么有没有办法使用 MVC 来实现一个场景 2d 游戏,或者我应该忽略这个模式并在一个扩展演员的类中拥有模型和视图?

0 投票
2 回答
1304 浏览

java - 如何在 libgdx scene2d ui 中绘制信息面板

在我的 libgdx 游戏中,想要绘制一个信息面板,其中显示了我当前的健康状况等。我已经看到了这个问题,它显示了类似的内容,但是我的面板不需要对用户输入做出反应,它应该只显示信息。这就是为什么我不想在我的游戏屏幕上添加第二个阶段。但我需要确保它被画在其他一切之前。我该如何管理?我认为 z-Index 不起作用,因为当我的角色拍摄时,它会在舞台上添加一个“子弹”演员,而这个演员会在最后一个索引处,对吗?“暂停菜单”也是如此,但为此我真的可以使用第二阶段。或者暂停菜单还有更好的解决方案吗?

编辑:重写 stage.draw() 方法是个好主意吗?我可以先调用 super.draw() 然后绘制我的信息面板。所以它总是在前面。或者我不应该覆盖 stage.draw() 吗?

0 投票
1 回答
1463 浏览

java - 使用 ClickListener 检测演员上的 clic:没有响应?

编辑:
按照 Per 的回答:我添加了这个并且效果很好:


我想检测对 ui 演员的点击,我注册stage为 inputProcessor

我将这个添加到我的演员中:

但是还是没有反应……

0 投票
0 回答
295 浏览

java - 将 LibGdx 图像转换为可接受的 Android 图像格式

我需要将 com.badlogic.gdx.scenes.scene2d.ui.Image 类型的 java LibGdx 图像转换为 android.graphics.Bitmap”类型的图像。我需要这个,因为我想使用 Android ACTION_SEND Intent 分享这张图片。
有什么方法可以将 LibGdx Image 转换为 Android Bitmap 或 java BufferedImage?

0 投票
3 回答
64913 浏览

java - 如何在 Libgdx 中创建一个按钮?

我想创建一个按钮,当用户悬停它或单击它时会发生变化。我创建了以下变量

我现在不知道该怎么办,如何加载图像?如何将文本写入按钮?如何实现事件/效果(悬停,点击)?

如果有人可以为按钮编写一些示例代码,那将非常有帮助。

0 投票
1 回答
431 浏览

android - How to rotate an Actor with pinch gesture

I'm trying to rotate an actor using the pinch gesture. The actor is actually rotating but there are times that the rotation is "stucked". I logged the deltaRotDeg (delta rotation in degrees) and there are times when the values jump. For example it's rotating in -42.25918 degrees then it will jump to 317.7408 degrees. I followed the rotation math here http://www.codeproject.com/Articles/319401/Simple-Gestures-on-Android

And here's my code. Is my math wrong or there's something wrong in the code?

0 投票
1 回答
1646 浏览

java - Libgdx 视锥体剔除在 actor.draw() 中

我正在使用 libgdx 开发一个小游戏。这是一个 2D 自上而下的游戏,上面有一些大地图和许多对象。所以我只想在我的视锥中渲染东西。我看过camera.frustum.***inFrustum(Paramter... p). 但是我使用的是scene2d,并且我在中设置了相机Stage,将SpriteBatchs投影矩阵设置为,camera.combined并且我Actor的s在覆盖的draw(SpriteBatch batch)方法中绘制了它们自己。我如何访问camera那里的视锥体?有没有办法从 spritebatch 中得到它?还是有另一种方法来实现视锥体剔除?

0 投票
1 回答
1457 浏览

java - 停止 libgdx TextButton 根据文本改变大小

我正在使用一个文本按钮,当您单击它时,它会将其文本从 OFF 更改为 ON。但是一旦这样做,大小就完全不同了。有没有办法让按钮保持当前大小?我已经尝试了按钮的 setScale 和 setSize ,但它似乎没有做任何事情。如果相关,我正在使用表格中的按钮。

0 投票
2 回答
2965 浏览

java - scene2d ui - 如何制作网格/表格?

我正在尝试为我的游戏制作清单,为此我需要制作一个网格。
我正在尝试用桌子完成这件事-

我应该从这里去哪里?我希望我的网格/库存看起来与此类似 - 在此处输入图像描述

0 投票
1 回答
3050 浏览

android - libgdx 背景图片更改

我想每 x 秒更改一次菜单的背景图像。我正在使用 libGDX scene2D.ui 来制作菜单。TestScreen 类扩展了 AbstractScreen 抽象类,它实现了 libGDX 的 Screen 类。问题:通过堆栈上的 Table 对象将图像加载到舞台后,将图像引用更改为不同的图像没有任何作用。Stage.draw() 毫不在意,就好像它复制了我的原始图像一样。我想将背景保留为 Image 类并通过 stage.draw() 进行渲染。

更复杂的是,如果我在 render() 方法中将图像更改为另一个图像,那么 image.setVisible(false) 也会停止工作。

}