这段代码会使得位于ViewContainer cont2中的图片首先从(0,100)移动到(100,100),然后再按顺序进行移动。
Timeline.createSequence()
.push(Tween.set(cont2, ViewContainerAccessor.POSITION_XY))
.push(Tween.to(cont2, ViewContainerAccessor.POSITION_XY, 0.5f).target(0,100))
.push(Tween.to(cont2, ViewContainerAccessor.POSITION_XY, 0.5f).target(100,100))
.start(tweenManager);
在我的代码中,图片先向下移动,然后向右移动。
也许在你的代码中应该像这样:
Timeline.createSequence()
.push(Tween.to(sprTurtle, SpriteAccessor.POS_XY, 0.4f)
.waypoint(posTurtle[0] + (20 * density), posTurtle[1] + (20 * density))
.target(posTurtle[0] + (30 * density), posTurtle[1])
.ease(Quad.INOUT)
.path(TweenPaths.catmullRom)
.repeatYoyo(Tween.INFINITY, 0)
.delay(0.1f))
.push(Tween.to(sprTurtle, SpriteAccessor.POS_XY, 1f)
.target(50, 50)
.repeat(Tween.INFINITY, 0))
.start(tweenManager);
如果你想让两张图片同时移动,你需要创建两个ViewContainers,这样它们才能同时移动。
在
官方演示apk的MainActivity.java中,你可以看到以下代码。我添加了LinearLayout genueHamster2和VieewContainer cont2来同时移动两张图片。
private LinearLayout genueHamster;
private LinearLayout genueHamster2;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
genueHamster = (LinearLayout) findViewById(R.id.main_cont);
genueHamster2 = (LinearLayout) findViewById(R.id.main_cont_2);
setTweenEngine();
}
public void startAnimation(View v) {
ViewContainer cont = new ViewContainer();
ViewContainer cont2 = new ViewContainer();
cont.view = genueHamster;
cont2.view = genueHamster2;
Tween.to(cont, ViewContainerAccessor.POSITION_XY, 0.5f)
.target(500, 0).ease(Bounce.OUT).delay(1.0f)
.start(tweenManager);
Tween.to(cont2, ViewContainerAccessor.POSITION_XY, 0.5f)
.target(0, 500)
.ease(Bounce.OUT)
.delay(1.0f)
.repeatYoyo(2, 0.5f)
.start(tweenManager);
}