libgdx精灵和演员之间的区别

时间:2012-12-08 18:53:15

标签: sprite libgdx actor

我正在阅读有关libgdx的javadoc和各种教程,我正处于尝试找出与我类似或在libgdx中提供类似功能的各种概念之间的差异的阶段。

起初我认为scene2d是关于创建菜单等交互式项目,但我正在阅读的各种教程使用scene2d / actor作为主要游戏项目(即玩家等),其他人只是使用精灵。

在游戏中使用Sprite和Actor(即scene2D)之间有什么区别?你应该选择什么时候?

感谢。

2 个答案:

答案 0 :(得分:71)

Sprite基本上是具有位置,大小和旋转的图像。您可以使用SpriteBatch绘制它,一旦拥有了SpriteSpriteBatch,就可以使用简单的低级方法在屏幕上随意获取2D图像。其余的由你决定。

另一方面,

Actor是场景图的一部分。它是更高级别的,并且除了定位图像之外,场景图中还有更多内容。场景图的根是Stage,它本身不会显示。 Stage是您添加到其中的Actors的容器,用于组织场景。特别是,输入事件通过Stage传递到适当的ActorStage知道何时告诉Actor绘制自己。例如,触摸事件仅会被发送到被触摸的Actor

但请注意,Actor不包含Sprite之类的纹理。相反,您可能希望使用ImageActor的子类,可能更接近Sprite,而不仅仅是普通ActorActor的其他子类包含文本,依此类推。

Actor的另一大优势是它们可以有Action个。这些是big topic,但它们基本上允许您为Actor计划一系列事件(如淡入,移动等),一旦设置它们就会自行发生。

所以基本上ActorSprite做得更多,因为它是图形框架的一部分。

答案 1 :(得分:0)

或多或少的味道问题。如果要使用动作和舞台,请使用actor。无法直接绘制Actor,您需要覆盖draw方法。在内部绘制中你可以使用精灵。

相关问题