sprite libgdx actor

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.