34

我只是在浏览 javadoc 和关于 libgdx 的各种教程,我正处于试图找出与我相似或在 libgdx 中提供类似功能的各种概念之间的差异的阶段。

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

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

谢谢。

4

2 回答 2

73

ASprite基本上是具有位置、大小和旋转的图像。你使用 绘制它SpriteBatch,一旦你有了你的Sprites 和你的SpriteBatch,你就有了一种简单的、低级的方法来在屏幕上任何你想要的地方获取 2D 图像。剩下的就看你了。

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

但请注意,Actor它不包含类似的纹理Sprite。相反,您可能想要使用Image,它的子类Actor可能Sprite比普通的Actor. 其他子类Actor包含文本,等等。

s 的另一个大优点Actor是它们可以有Actions。这些是一个很大的话题,但它们本质上允许您为此计划一系列事件Actor(如淡入、移动等),一旦您设置它们,这些事件就会自行发生。

所以基本上Actor做的不仅仅是Sprite因为它是图形框架的一部分。

于 2013-02-20T23:06:19.143 回答
0

这或多或少是口味问题。如果要使用动作和舞台,请使用演员。Actor 不能直接绘制,需要重写 draw 方法。在里面你可以使用精灵。

于 2012-12-09T08:51:17.630 回答