• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package aurelienribon.tweenengine.applets;
2 
3 import aurelienribon.tweenengine.TweenAccessor;
4 
5 /**
6  * @author Aurelien Ribon | http://www.aurelienribon.com
7  */
8 public 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
getValues(Sprite target, int tweenType, float[] returnValues)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
setValues(Sprite target, int tweenType, float[] newValues)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