Fab*_*nig 4 java 2d game-engine game-physics libgdx
我对LibGDX中的绘图有一个很大的问题.首先,我不会在游戏中使用每一个物理或其他复杂的东西.我只绘制精灵并将矩形放在此处以进行碰撞检测.我的游戏中有3个屏幕:飞溅,菜单和游戏.所以我在启动和菜单屏幕中使用了一个舞台,但是如果我在游戏中使用舞台或者使用SpriteBatch绘制,我也不会这样做?舞台在动作方面确实很有优势,但使用Actors有点复杂.还有其他方法吗?我不想使用World,因为它会让游戏开始变得复杂.我想用什么游戏?
Spr*_*bua 18
实际上你总是画画SpriteBatch,因为Stage使用它自己SpriteBatch.如果你认为你可能需要Scene2ds的某些优点Stage,比如Actions,Groups或其他东西,你应该使用Stage.在我看来,这很容易使用.你有自己的对象,它们扩展Image或Actor覆盖它们的update(delta)方法,你可以在那里检查是否Actor应该移动(Keypressed或AI的事件).你也应该检测那里的碰撞并注意它们.然后,如果你正在扩展Image你不需要关心绘图(但Image需要Drawables,所以你会遇到一些问题Animation),如果你正在扩展Actor覆盖draw(SpriteBatch batch),你打电话的地方batch.draw(...).而已.一个很大的缺点Stage是分拣.的Actor,其被绘制为首先是在背景中.最后一次Actor透支了所有其他的并且在前景中.您可以使用z-Index对它们进行排序,但这不是很确定.所以你可以决定使用你自己的那种Stage(它或多或少是一个包含所有Actors 的列表,当它update或被draw调用时,它Actor在这个列表中的每一个都被调用),并在那里添加你自己的排序.这取决于您的游戏设计,您的意见和风格.查看一些教程/示例,并决定如何创建游戏.
Sar*_*sch 12
您可以使用其中之一,这取决于您创建的游戏类型.但无论如何,不要创建多个实例 SpriteBatch - 而只创建一个实例并将其传递给Stage构造函数,因为它是重物.(是的,Stage使用SpriteBatch引擎盖下)
另外,Stage如果您需要任何屏幕控制(按钮,操纵杆等),可能非常有用,因为您可以使用类scene2d.ui而不是重新发明轮子(某些轮子不是很容易重新发明)
| 归档时间: |
|
| 查看次数: |
12722 次 |
| 最近记录: |