- most basic way to display(draw) an image onscreen
- can be done with either Stateless(Texture, TextureRegion) or Stateful(Sprite)
- with the Stateless(Texture, TextureRegion) approach -> you need to specify the x,y coordinates on each draw call
- with the Stateful(Sprite) approach -> the needed x,y coordinates are saved into the Sprite object itself
Last active
February 20, 2017 21:35
-
-
Save zeromancer/072f9f8e419b70cd20cedb196a93502d to your computer and use it in GitHub Desktop.
Libgdx Scene2d Actor System Overview Diagram
- Actor extends Sprite and allows for additional functionality like mouse hover/click
- the (optional) Skin can be used to modify the viewing part the Actor actor depending on the actors state. Example: Button class changes the image if it is hovered, clicked, disabled, etc and the ButtonStyle allows to define a different image for each state
- allows the usage of Actions -> to manipulate/animate(move,flip,etc..) Actors on the Stage
- allows to put together different Widgets(Buttons,Labels,etc) into WidgetGroups(Table,VerticalGroup,Stack,etc) to define an UI
- the graphiz dot files
- can be easely edited for example with the atom editor and graphviz-preview-plus plugin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
digraph "libgdx-sprite" { | |
FileSystem -> Image | |
FileSystem -> Json | |
Image -> Texture [label="load/convert to opengl image"] | |
Image -> TextureAtlas | |
Json -> TextureAtlas [label="how the image is divided"] | |
Texture -> TextureAtlas [label="packed version"] | |
Texture -> TextureRegion [label="(may) consists of"] | |
TextureAtlas -> AtlasRegion [label="consists of"] | |
TextureRegion -> AtlasRegion [label="with entpacking info"] | |
Texture -> Sprite | |
TextureRegion -> Sprite | |
AtlasRegion -> AtlasSprite | |
Sprite -> AtlasSprite [label="extended"] | |
Functionality -> Stateless, Stateful | |
Stateless -> TextureRegion [label="Draw"] | |
Stateless -> Texture [label="Draw"] | |
Stateless -> Stateful [label="Draw"] | |
Stateful -> Sprite [label="Position,Scale,Rotate"] | |
{ rank=same Image Json} | |
{ rank=same Functionality Texture TextureAtlas} | |
{ rank=same TextureRegion AtlasRegion Stateless} | |
{ rank=same Sprite AtlasSprite Stateful} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
digraph "libgdx-actor" { | |
FileSystem -> Image | |
FileSystem -> Json | |
FileSystem -> Font | |
Json, Font,TextureAtlas -> Skin | |
Image -> Texture [label="load/convert to opengl image"] | |
Image -> TextureAtlas [label="load"] | |
Json -> TextureAtlas [label="how the image\n is divided"] | |
Texture -> TextureAtlas [label="packed version"] | |
Texture -> TextureRegion [label="consists of"] | |
TextureAtlas -> AtlasRegion [label="consists of"] | |
TextureRegion -> AtlasRegion [label="with entpacking info"] | |
Texture -> Sprite | |
TextureRegion -> Sprite | |
AtlasRegion -> AtlasSprite | |
Sprite -> AtlasSprite [label="extended"] | |
Sprite -> SpriteDrawable | |
AtlasSprite -> SpriteDrawable | |
TextureRegion, AtlasRegion -> TextureRegionDrawable, NinePatchDrawable | |
TextureRegionDrawable -> Drawable | |
SpriteDrawable -> Drawable | |
NinePatchDrawable -> Drawable | |
Skin -> SkinStyle [label="consists of"] | |
Drawable -> SkinStyle -> Actor | |
Game -> Stage | |
Camera -> Viewpoint -> Stage | |
Group -> Stage | |
Stage -> Actor | |
Functionality -> Stateless, Stateful | |
Stateless -> TextureRegion [label="Draw"] | |
Stateless -> Texture [label="Draw"] | |
Stateful -> Sprite [label="Position,Scale,Rotate"] | |
Stateful -> Actor [label="mouseOver, onClick"] | |
{ rank=same Image Json Font} | |
{ rank=same Texture TextureAtlas Skin} | |
{ rank=same TextureRegion AtlasRegion } | |
{ rank=same Sprite AtlasSprite } | |
{ rank=same TextureRegionDrawable SpriteDrawable NinePatchDrawable } | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
digraph "libgdx-layout" { | |
FileSystem -> Image | |
FileSystem -> Json | |
FileSystem -> Font | |
Json, Font,TextureAtlas -> Skin | |
Image -> Texture [label="load/convert to opengl image"] | |
Image -> TextureAtlas [label="load"] | |
Json -> TextureAtlas [label="how the image\n is divided"] | |
Texture -> TextureAtlas [label="packed version"] | |
Texture -> TextureRegion [label="consists of"] | |
TextureAtlas -> AtlasRegion [label="consists of"] | |
TextureRegion -> AtlasRegion [label="with entpacking info"] | |
Texture -> Sprite | |
TextureRegion -> Sprite | |
AtlasRegion -> AtlasSprite | |
Sprite -> AtlasSprite [label="extended"] | |
Sprite -> SpriteDrawable | |
AtlasSprite -> SpriteDrawable | |
TextureRegion, AtlasRegion -> TextureRegionDrawable, NinePatchDrawable | |
TextureRegionDrawable -> Drawable | |
SpriteDrawable -> Drawable | |
NinePatchDrawable -> Drawable# [label="better resizing"] | |
Skin -> SkinStyle [label="consists of"] | |
Drawable -> SkinStyle -> Actor | |
Actor -> Button,Label,TextField | |
Game -> Stage | |
Camera -> Viewpoint -> Stage | |
Group -> Stage | |
Group -> WidgetGroup | |
Functionality -> Stateless, Stateful | |
Stateless -> TextureRegion [label="Draw"] | |
Stateless -> Texture [label="Draw"] | |
Stateless -> Stateful [label="Draw"] | |
Stateful -> Sprite [label="Position,Scale,Rotate"] | |
Stateful -> Actor [label="mouseOver, onClick"] | |
Stateful -> WidgetGroup [label="layout"] | |
Stage -> WidgetGroup | |
Actor -> WidgetGroup [label="extended"] | |
WidgetGroup -> Table,VerticalGroup,Stack | |
Button,Label,TextField -> UI | |
Table,VerticalGroup,Stack -> UI | |
{ rank=same Image Json Font} | |
{ rank=same Texture TextureAtlas Skin} | |
{ rank=same TextureRegion AtlasRegion } | |
{ rank=same Sprite AtlasSprite } | |
{ rank=same TextureRegionDrawable SpriteDrawable NinePatchDrawable } | |
#{ rank=same WidgetGroup Actor} | |
{ rank=same Table,VerticalGroup,Stack Button,Label,TextField} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment