1package aurelienribon.tweenengine.applets; 2 3import aurelienribon.tweenengine.TweenAccessor; 4 5/** 6 * @author Aurelien Ribon | http://www.aurelienribon.com 7 */ 8public class SpriteAccessor implements TweenAccessor<Sprite> { 9 public static final int POSITION_XY = 1; 10 public static final int SCALE_XY = 2; 11 public static final int VISIBILITY = 3; 12 13 @Override 14 public int getValues(Sprite target, int tweenType, float[] returnValues) { 15 switch (tweenType) { 16 case POSITION_XY: 17 returnValues[0] = target.getX(); 18 returnValues[1] = target.getY(); 19 return 2; 20 21 case SCALE_XY: 22 returnValues[0] = target.getScaleX(); 23 returnValues[1] = target.getScaleY(); 24 return 2; 25 26 case VISIBILITY: 27 returnValues[0] = target.isVisible() ? 1 : 0; 28 return 1; 29 30 default: assert false; return -1; 31 } 32 } 33 34 @Override 35 public void setValues(Sprite target, int tweenType, float[] newValues) { 36 switch (tweenType) { 37 case POSITION_XY: target.setPosition(newValues[0], newValues[1]); break; 38 case SCALE_XY: target.setScale(newValues[0], newValues[1]); break; 39 case VISIBILITY: target.setVisible(newValues[0] > 0); break; 40 default: assert false; 41 } 42 } 43} 44