P.T*_*.T. 25
LibGDX有很多(大多数是正交的)API用于渲染.我仍然在学习他们中的许多人,但我可以概述不同的部分.
ShapeRenderer让您快速轻松地在屏幕上放置基本的平面彩色多边形和线条.它不是特别有效(它在每个渲染上传了很多顶点数据).但它可以很快开始.它强烈地定向到屏幕(它默认为全屏幕上的正交项目,其单位通常是像素).
该Mesh班为您提供了几何更直接的控制,但你接触到了更多的详细信息(如相同的浮动阵列中的所有颜色编码的花车和存储顶点数据,颜色数据和纹理数据和概念索引数组).
它SpriteBatch围绕"精灵"(通常是带有纹理的矩形区域)定向.这隐藏了纹理与网格的一些复杂性(和灵活性).
Box2D用于物理建模,与您提到的任何其他API部分(主要是关于渲染)不同.
最后,Scene2D主要用于创建动画用户界面元素,如按钮,列表和滑块.但它足够强大(并且对动画和交互事件有足够的整洁和灵活的支持),你可以在其中实现相当多的"游戏".
您也可以使用原始的"OpenGL"命令(请参阅参考资料GL20).
你可以完全混合和匹配这些不同的原语(一个警告是你通常必须"刷新"和"结束"任何ShapeRenderer/ SpriteBatch/ Mesh渲染之前开始一个不同的味道).因此,例如,您可以将Scene2D用于游戏中的"主菜单"和一些元操作,a SpriteBatch用于渲染游戏的核心,并使用a ShapeRenderer生成调试叠加(想想可视化边界框等).
另请注意,大多数libGDX都面向2D.Raw OpenGL和MeshAPI也可用于构建3D对象.
检查gdx-invaders示例以查看它的使用方法Mesh,OpenGL和SpriteBatch.(我认为这个例子早于Scene2d,所以没有...).同样值得查看这些类的实现,看看它们在封面下做了什么.