我正在阅读libgdx的javadoc和各种教程,现在正试图弄清楚在libgdx中看似相似或提供类似功能的各种概念之间的区别。
起初,我认为scene2d是用于创建交互式项目(如菜单等)的,但我正在阅读的各种教程使用scene2d / actors作为主要游戏项目(即玩家等),而其他教程则只使用sprites。
Sprites和Actor(即scene2D)在游戏中使用的区别是什么,何时应该选择哪一个?
谢谢。
我正在阅读libgdx的javadoc和各种教程,现在正试图弄清楚在libgdx中看似相似或提供类似功能的各种概念之间的区别。
起初,我认为scene2d是用于创建交互式项目(如菜单等)的,但我正在阅读的各种教程使用scene2d / actors作为主要游戏项目(即玩家等),而其他教程则只使用sprites。
Sprites和Actor(即scene2D)在游戏中使用的区别是什么,何时应该选择哪一个?
谢谢。
Sprite
)基本上是一个带有位置、大小和旋转的图像。你可以使用 SpriteBatch
来绘制它,并且一旦你拥有了自己的 Sprite
s 和 SpriteBatch
,你就可以以简单、低级的方式在屏幕上任何位置获得 2D 图像。其余的取决于你。Actor
是场景图中的一部分。它是更高级别的,而且在场景图中除了定位图像以外还有很多其他的事情要做。场景图的根是 Stage
,它本身并不会被显示出来。 Stage
是添加到其中的 Actors
的容器,并用于组织场景。特别地,输入事件会通过 Stage
向适当的 Actor
传递,而 Stage
知道何时告诉 Actor
绘制自身。例如,触摸事件只会发送到被触摸的 Actor
。Actor
不像 Sprite
一样包含纹理。相反,你可能想使用 Image
,它是一个 Actor
的子类,比普通的 Actor
更接近 Sprite
。其他的 Actor
子类包含文本等内容。< p > 另一个 Actor
的巨大优点是它们可以有 Action
s。 这是一个重要的话题,但它们基本上允许您为该Actor
计划事件序列(如淡入、移动等),一旦设置它们,这些事件将自行发生。
因此,基本上由于它是图形框架的一部分,Actor
比 Sprite
做了更多的事情。
这更多或多少是个口味问题。如果你想使用行为和舞台,就用演员。演员不能直接绘制,你需要重写绘制方法。在绘制方法内部,你可以使用精灵。