Je suis en train de parcourir le javadoc et divers didacticiels sur libgdx et j'en suis au stade d'essayer de comprendre les différences entre divers concepts qui me semblent similaires ou fournissent des capacités similaires dans libgdx.
Au début, je pensais que scene2d consistait à créer des éléments interactifs tels que des menus, etc., mais divers didacticiels que je lis utilisent scene2d/acteurs pour les principaux éléments du jeu (c'est-à-dire le joueur, etc.) et d'autres utilisent simplement des sprites.
Quelle est exactement la différence entre utiliser Sprite et Actor (c'est-à-dire scene2D) dans un jeu et quand devriez-vous choisir?
Merci.
Un Sprite
est essentiellement une image avec une position, une taille et une rotation. Vous le dessinez en utilisant SpriteBatch
, et une fois que vous avez vos Sprite
s et vos SpriteBatch
, vous avez un moyen simple et basique d'obtenir Des images 2D sur l'écran où vous le souhaitez. Le reste dépend de toi.
Actor
, d'autre part, fait partie d'un graphe de scène. C'est un niveau supérieur, et il y a beaucoup plus dans un graphique de scène que le simple positionnement d'images. La racine du graphe de la scène est le Stage
, qui n'est pas lui-même affiché. Le Stage
est un conteneur pour le Actors
que vous y ajoutez, et est utilisé pour organiser la scène. En particulier, les événements d'entrée sont transmis via le Stage
au Actor
approprié, et le Stage
sait quand dire au Actor
de se dessiner. Un événement tactile, par exemple, n'est envoyé qu'au Actor
qui a été touché.
Mais notez que Actor
ne contient pas de texture comme Sprite
. Au lieu de cela, vous voudrez probablement utiliser Image
, une sous-classe de Actor
qui est probablement plus proche de Sprite
que juste un simple Actor
. D'autres sous-classes de Actor
contiennent du texte, etc.
Un autre gros avantage des Actor
s est qu'ils peuvent avoir Action
s. Ce sont un gros sujet , mais ils vous permettent essentiellement de planifier une séquence d'événements pour ce Actor
(comme un fondu, un déplacement, etc.) qui se produira ensuite de lui-même une fois que vous les définir.
Donc, fondamentalement, Actor
fait beaucoup plus que Sprite
car il fait partie d'un cadre graphique.
C'est plus ou moins une question de goût. Si vous voulez utiliser des actions et une scène, utilisez des acteurs. Les acteurs ne peuvent pas être dessinés directement, vous devez remplacer la méthode de dessin. À l'intérieur, vous pouvez utiliser des sprites.