diferencia libgdx entre sprite y actor
(2)
Estoy repasando el javadoc y varios tutoriales sobre libgdx y estoy en la etapa de tratar de descubrir las diferencias entre varios conceptos que me parecen similares o proporcionar capacidades similares en libgdx.
Al principio pensé que scene2d se trataba de crear elementos interactivos como menús, etc., pero varios tutoriales que estoy leyendo utilizan scene2d / actors para los elementos principales del juego (es decir, el reproductor, etc.) y otros solo usan sprites.
¿Cuál es exactamente la diferencia entre usar Sprite y Actor (es decir, scene2D) en un juego y cuándo debes elegir?
Gracias.
Es más o menos materia de gusto. Si quiere usar acciones y escenario, use actores. Los actores no se pueden dibujar directamente, debes anular el método de sorteo. Dentro del sorteo puedes usar sprites.
Un Sprite
es básicamente una imagen con una posición, tamaño y rotación. Lo SpriteBatch
usando SpriteBatch
, y una vez que tienes tu Sprite
y tu SpriteBatch
, tienes una manera simple y de bajo nivel de obtener imágenes 2D en la pantalla donde quieras. El resto depende de usted.
Actor
, por otro lado, es parte de un gráfico de escena. Es de nivel superior, y hay mucho más que entra en un gráfico de escena que solo imágenes de posicionamiento. La raíz del gráfico de escena es el Stage
, que no se muestra. The Stage
es un contenedor para los Actors
que le agregas y se usa para organizar la escena. En particular, los eventos de entrada se transmiten a través del Stage
al Actor
apropiado, y el Stage
sabe cuándo decirle al Actor
que se dibuje a sí mismo. Un evento táctil, por ejemplo, solo se envía al Actor
que se tocó.
Pero ten en cuenta que Actor
no contiene una textura como lo hace Sprite
. En cambio, probablemente quieras usar Image
, una subclase de Actor
que probablemente esté más cerca de Sprite
que simplemente un Actor
. Otras subclases de Actor
contienen texto, y así sucesivamente.
Otra gran ventaja de Actor
s es que pueden tener Action
s. Estos son un gran tema , pero esencialmente te permiten planificar una secuencia de eventos para ese Actor
(como desvanecimiento, movimiento, etc.) que luego pasarán por sí solos una vez que los establezcas.
Básicamente, Actor
hace mucho más que Sprite
porque es parte de un marco gráfico.