问题标签 [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.
java - 用于具有 2D 逻辑的 3D 游戏的 Libgdx scene2d?
我用 libgdx scene2d 开始了一个 2D 自上而下的游戏,我喜欢它的实现方式、逻辑以及程序员如何使用它(例如stage.act()
调用actor.act(delta)
每个已注册的Actor
. 现在我想将这个逻辑用于 3D 游戏。我知道 scene2d 主要是为 UI 而不是为游戏制作的,尤其是不是为 3D 制作的。但我的 3D 游戏逻辑就像 2D 自上而下。让我解释一下:你,玩家,在迷宫里。您只能与墙壁发生碰撞,这些墙壁在每个高度上都是相同的。所以碰撞检测将与 2D 自上而下的相同。你也不能跳跃,只能向前、向后走……所以运动也与 2D 自上而下相同。只有视图,所以绘图,将是第一人称,所以是 3D。仅将scene2d滥用于逻辑并使用会不会很糟糕Model
等等的3D绘图?我只是想使用scene2d,所以我不必编写自己的“所有注册的对象立即行动”方法。你怎么看待这件事?
libgdx - libgdx:scene2d + box2d - 单位
我正在开发我的第一个 LibGdx (Scene2d + Box2d) 游戏,这对我来说是一个全新的领域,但仍然对一些事情感到有些困惑,尤其是关于单位。已经看到了几种不同的方法来处理它,但仍然不确定什么对我最好。
想知道使用舞台视口大小是否有任何缺点,例如:16x9(而不是常用的:800x480)为了避免转换 box2d => 舞台坐标,对 Box2d 对象以及舞台演员(精灵等)使用相同的大小/位置)?
java - LibgGDX 中 Actor/Sprite 的负宽度和高度
假设您有一个Actor
usingScene2D
并将其设置Bounds
为负宽度和高度。将Actor
正确绘制,但交互丢失。所有的ClickListener
'sEvents
将不再触发。如何调整LibGDX
以在负宽度和高度下正常工作。如果这不可能,其他解决方案也会有所帮助。
java - 覆盖绘图顺序scene2D的舞台
给你一个复杂的Scene2D
图表,libgdx
其中有几个Group's
和Actor's
。您希望用户选择一些Actors
并在最后绘制它们,以便它们看起来集中在任何其他Actors
.
我想迭代Stage
两次。第一次绘制未选中Actors
的,第二次绘制选中的actors
。但是,我看不到任何强制执行此行为的“好”方法。
我更喜欢干净的选项。我不想仅仅为了这个小小的添加而复制整个方法实现。
什么不起作用:
- (
Actor's
toFront
) 方法只适用于它的兄弟姐妹。 - 交换
Actor's
舞台中的位置:这会修改所Actors
具有的变换。
需要考虑的场景:你有Root
一个组gA和一个组gB。Group
gA包含两个图像iA1和iA2。Group
gB包含一个图像iB。假设首先将Group
gA添加到阶段,并且图像iA1与iB重叠;现在您要选择iA1并使其出现在iB上。我不想只打电话gA.toFront();这会将整个Group
gA放在前面,这意味着iA2也放在前面。放iA2前面有将部分图像隐藏在Group
gB内的不良影响
java - LibGDX 标签未绘制
我正在尝试在屏幕上为我的游戏帮助屏幕绘制一个 LibGDX 标签,但是我没有从 JVM 收到任何错误,但标签文本不会绘制。
这是我的 HelpMenu 类:
这是我的主要游戏类:
这是我的皮肤文件:
这是帮助屏幕的屏幕截图:
如您所见,标签根本没有被绘制。所有文件都在正确的位置,从我从 LibGDX 文档中收集到的所有代码似乎都是正确的,但标签不会绘制。
user-interface - 在box2d之上渲染scene2d ui
我目前在 box2d 游戏区域上渲染 UI 时遇到问题。截至目前,该按钮呈现在屏幕的角落,但不会对点击做出反应,因为似乎屏幕认为它不存在。只有它的图片。下面是屏幕工作原理的代码。正在呈现什么顺序。在 spritebatch 开始和结束之前和之后的凸轮缩放、更新和设置是导致精灵在角落的测试,但它仍然没有做任何事情。我很困惑,希望能得到一些关于如何以一种好的方式处理渲染的建议。
libgdx - LibGDX Scene2D:动作对组内的演员根本不起作用
我正在尝试使用 Action FadeOut 将 Actor 淡出。但是,我发现 no 操作对我的对象根本不起作用。我的类的层次结构是这样的:
我的骑士演员的行动根本不起作用。但是,我的 KnightGroup 组的操作有效。这是我的骑士的代码:
我一生都无法弄清楚问题所在。(Knight 的父级)中的操作MoveableObject
也不起作用。我最好的猜测是,将演员包裹在这些演员的Group
遗嘱render
中actions
无效。虽然这KnightGroup
是我的代码中非常重要的部分,但我必须进行大量重构才能将其删除。其他人可以阐明这个问题吗?
grid - LibGdx: most efficient way to draw a checkerboard in background
I am building a game with libgdx. The game screen is a grid with Scene2D actors. Actors are displayed on the front. I would like to draw a background that looks like a checkerboard, coloring every 2 cells with one color and the other cells with another color.
It is easy to do but I was wondering if there are classes in libgdx that could optimize such a background, to make it as light and optimized as possible. For example, coloring each cell individually should work but doesn't seem like the best approach.
I have started to dig into the TiledMapTileLayer class but I'd have to fill each cell with a Tile object and that seems heavier than just a color.
Ideally, I would like to simply define 2 colors, set coordinates of the cells, and fill them with the colors without having to use objects or color the cells one by one.
What would be the best approach?
java - LibGDX - Scene2d 无法点击小部件
我在我的应用程序中创建了一个显示文本字段和按钮的屏幕,但由于某种原因我无法单击它们。你知道可能是什么原因。这是我的代码(我跳过了变量声明):
java - Libgdx stage2d 与另一个用于 HUD 的摄像头,如何处理坐标?
我在我的游戏屏幕中使用了一个舞台。在这个阶段,我有一些演员,比如游戏地图(玩家可以在其中移动,并且舞台的摄像机沿着移动并缩放(或重新定位)以将视口保持在地图内)、玩家和其他游戏内容。然后我添加了一个通过扩展 Group 制作的 HUD 元素:
在这个类中,我定义了一个新的 OrthographicCamera:
我想用这台相机让 HUD 在屏幕上保持静止。我是这样画的:
绘图工作正常,但问题是(触摸和其他)事件。他们有错误的坐标。我该如何解决这个问题。我试图覆盖 hit(float x, float y, boolean touchable) 方法并考虑覆盖 localToParentCoordinates 和 parentToLocalCoordinates 方法。但是我会在其中放入什么(在绘图时乘以 hudCamera.combined 或类似的东西)?还是我认为这一切都错了?
我还担心,当我在舞台的相机中使用变焦时,它会弄乱坐标。这是现实吗?