package com.junerking.skeleton.sdp; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.scenes.scene2d.Actor; public class XAnimationActor extends Actor { protected XAnimation.State animation_state; protected XAnimation animation; protected boolean flip_x = false; protected boolean flip_y = false; protected boolean removable = false; public XAnimationActor(XAnimation animation) { this.animation = animation; if (animation != null) { animation_state = animation.createState(); } } public void setFlip(boolean flip_x, boolean flip_y) { this.flip_x = flip_x; this.flip_y = flip_y; } public void changeAction(String action) { if (animation_state != null) { animation_state.changeAction(action); } } public void setRemovable(boolean removable) { this.removable = removable; } public void setAnimation(XAnimation animation) { this.animation = animation; if (animation != null) { animation_state = animation.createState(); } else { animation_state = null; } } @Override public void act(float delta) { super.act(delta); if (animation_state != null) { animation_state.tick(4000 * delta); } } @Override public void draw(SpriteBatch sprite_batch, float parent_alpha) { if (animation == null || animation_state == null) return; animation.render(sprite_batch, x, y, scaleX, scaleY, animation_state.getActionIndex(), animation_state.getFrameId(), flip_x); } }