我正在阅读有关libgdx的javadoc和各种教程,我正处于尝试找出与我类似或在libgdx中提供类似功能的各种概念之间的差异的阶段。
起初我认为scene2d是关于创建菜单等交互式项目,但我正在阅读的各种教程使用scene2d / actor作为主要游戏项目(即玩家等),其他人只是使用精灵。
在游戏中使用Sprite和Actor(即scene2D)之间有什么区别?你应该选择什么时候?
感谢。
答案 0 :(得分:71)
Sprite
基本上是具有位置,大小和旋转的图像。您可以使用SpriteBatch
绘制它,一旦拥有了Sprite
和SpriteBatch
,就可以使用简单的低级方法在屏幕上随意获取2D图像。其余的由你决定。
Actor
是场景图的一部分。它是更高级别的,并且除了定位图像之外,场景图中还有更多内容。场景图的根是Stage
,它本身不会显示。 Stage
是您添加到其中的Actors
的容器,用于组织场景。特别是,输入事件通过Stage
传递到适当的Actor
,Stage
知道何时告诉Actor
绘制自己。例如,触摸事件仅会被发送到被触摸的Actor
。
但请注意,Actor
不包含Sprite
之类的纹理。相反,您可能希望使用Image
,Actor
的子类,可能更接近Sprite
,而不仅仅是普通Actor
。 Actor
的其他子类包含文本,依此类推。
Actor
的另一大优势是它们可以有Action
个。这些是big topic,但它们基本上允许您为Actor
计划一系列事件(如淡入,移动等),一旦设置它们就会自行发生。
所以基本上Actor
比Sprite
做得更多,因为它是图形框架的一部分。
答案 1 :(得分:0)
或多或少的味道问题。如果要使用动作和舞台,请使用actor。无法直接绘制Actor,您需要覆盖draw方法。在内部绘制中你可以使用精灵。