问题标签 [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 - 使用 libgdx Actor 类和 SpriteBatch 绘制网格几何体
我正在考虑使用 scene2d 包来渲染简单的矩形几何体(用于简单精灵)和更复杂的网格几何体(用于其他事物)。
在我看来,具有 Actor 组的舞台将是管理渲染元素之间的层次关系的好选择,并非所有元素都由简单的矩形精灵定义。
这种方法正确吗?(即。我是否“在 libgdx 中思考”)如果是,我如何在 Actor draw() 方法中渲染 Mesh 对象?
android - 在 Scene2d 中,当一个动作完成时,它会从 Actor 中移除,但不会放回池中
在 Scene2d 中,当一个动作完成时,它会从 Actor 中移除,但不会放回池中。
动作类
似乎 Action reset() 方法(这是发送到池的唯一位置)(1)当 Actor 的操作数组被清除时,它永远不会被调用,并且随后不会发生对池的备份。 ..
(1) - 在以前的版本中,我们可以覆盖 finish() 方法并将 Action 发送到池中,但该方法不再可用...
当我尝试将 Action 类扩展到这个时,我遇到了这个问题:
TimelineAction.class
最初的想法来自netthreads
我注意到每次添加一个动作时,它都会创建一个新对象(TimelineAction action = new TimelineAction()
)而不是返回一个池化对象。然后我试图通过覆盖他的reset()
方法来追踪 Action 的结尾,以找出它是否被调用过……但事实并非如此。
顺便说一句,在 TimelineAction 完成 (2) 后,Timeline 及其 Tweens 对象已成功发送到各自的池:
(2) - Timeline.getPoolSize() 返回 1,Tween.getPoolSize() 返回 2
所以,我需要一些帮助在这里,拜托!:S
提前谢谢,请原谅我糟糕的英语。;)
Libgdx 版本 0.9.6 (24-07-2012)
android - 如何使用scene2d绘制TiledMap
我想使用 libgdx 创建一个基于平铺的游戏,我找到了这个教程
TileMapRenderer 有它自己的渲染器来绘制瓷砖地图。我想使用scene2d 进行平铺渲染,因为我习惯于使用Scene2d 做事。同样使用 Stage 类,输入之类的事情更容易做到。是否可以使用 Actor 类实现此图块渲染?我可以只使用场景图而不使用 Actor 类的 draw 方法中传递的 spritebatch 吗?
java - 为什么 Libgdx 的 Table 不接受缩放动作?
我在 libgdx 库中使用 scene2d 在我的游戏中创建一些 UI。
我使用了一个表格,我想在用户触摸时采取一些缩放动作以使按钮具有触摸感。
当我使用任何其他“Actor”类型(如 Group)并给它一个缩放动作时,它可以工作,但不能使用 Table。
这是我的表定义:
在我的 touchDown 事件中,我给它一个缩放动作:
在 touchUp 中,我给它另一个动作来获得原始比例:
正如我所说,此代码适用于其他类型的 Actor,例如 Image 和 Group。有什么想法为什么不适用于表格?
java - Scene2d touchDown 不会在 Actor 上触发
我创建了一个简单的测试,其中touchDown()
包含图像演员的事件。该事件在舞台上有效,但对演员无效。这是代码:
我InputProcessor
在父类(AbstractScreen
)的构造函数中设置了。
在子类中:
我在桌面和安卓上都进行了测试(结果相同)。我得到了“下台”事件,但没有得到演员的事件。我也试过没有舞台活动。
android - Android游戏不会在手机上显示scene2d阶段
我正在练习为 android 制作游戏,在 Eclipse 中使用 libgdx。在我的第一个屏幕中,我在舞台上添加了一个 TextButton 和一个 Label。当我启动桌面应用程序时,会显示带有标签和按钮的舞台。但是,当我在手机(Android 2.2)或模拟器(Andorid 2.2 和 4.03)上启动 Android 应用程序时,什么都没有显示,只显示一个空白屏幕。我在 logcat 或控制台中看不到任何错误。
logcat 显示一个复制位“打开帧缓冲区时出错 errno=13(权限被拒绝)”,但我认为这不是原因。
我检查了我的 java 构建路径,一切似乎都很好。在到处谷歌搜索之后,这是我发现的唯一一个类似的帖子:libgdx 游戏在 android 手机中不起作用。在投票最多的答案中,用户“nEx.Software”评论“不工作是指只显示一个空白屏幕吗?这是因为桌面启动器创建了一个新的 ScreenTest() 实例,而 Android 启动器创建了一个新的 ScreenGame( )。” 我认为这可以解决我的问题,但是我不完全理解他/她的评论。
下面是我的 android 入门类的代码:
编辑
下面是我的游戏 Main.java 类的代码:
任何帮助将不胜感激。
更新
我发现它在我的手机上显示,但是舞台不在屏幕上,无论如何谢谢
java - getX() 调用上的 NullPointerException (Scene2d + Libgdx)
我正在尝试创建一个简单的 BreakOut 克隆来熟悉 LibGDX 和 scene2d。但是,在组装了一个非常基本的示例以开始使用之后,我在一个定义非常明确的对象上得到了 NullPointerException。
我有一个名为 Paddle 的 Actor 类,它在我的程序中有一个名为 paddle 的实例。它被声明为全局变量并在 create() 方法中初始化。当我运行程序时,它会在代码中的 render() 方法中返回一个错误,用于检查桨是否超出屏幕边界:
这是返回的错误:
这是 Paddle 类;
这是代码,以防有助于查看整个内容。
编辑:感谢评论,我找到了答案:我意识到我在发布后立即错过了什么 - 看起来我重新定义了 paddle 变量的范围(通过使用 Paddle paddle = new Paddle(...))在本地方法而不是全局。因此,当它试图访问该对象时,它总是返回 null,因为该对象在 create() 方法之外是不可访问的。
如果您的 Actor 在基本调用中无法正常工作,这可能是您的罪魁祸首。
java - 将 libgdx 项目导入 Eclipse 时未绑定的类路径变量 junit 和 log4j
我正在尝试导入并运行此处列出的项目:
我首先下载 zip 文件,然后将其导入 Eclipse。从这里我得到以下三个错误(在解决了与不正确的android版本有关的其他错误之后):
有谁知道如何解决这个问题?我注意到这个 junit 应该包含在 eclipse 的 JDT 中,但我已经安装了它,但没有改变错误。谢谢。
java - LibGDX scene2d 舞台不显示按钮
我有一个场景 2d 阶段,它应该显示按钮和触摸板,但它没有。它只是显示一个黑屏。这就是我正在做的事情:
皮肤.json
控制器.java
应用监听类
我正在使用 LibGDX v 0.9.7。这段代码几天前工作得很好,由于某种原因它不再工作并且不会生成错误消息。代码中引用的文件都存在:在 LibGDX 资产文件夹中的数据文件夹中。想法?