我正在制作一个游戏,通过触摸将对象拖放到屏幕上。我正在使用SurfaceView
这样做。我怎样才能同时运行多个动画?
有时我需要制作一个动画来在用户正在玩时移动一个物体。
这是我的代码:
//raise it
m = new MyLinearMoveAnimation(container1, Config.AXIS_Y, topLine, 2*Speed);
t = new Thread(m);
t.start();
while(delivering);
try {t.join();} catch (InterruptedException e1) {e1.printStackTrace();}
while(t.isAlive());
//move to destination column
m = new MyLinearMoveAnimation(container2, Config.AXIS_X, Config.IMAGE_X, 2*Speed);
t = new Thread(m);
t.start();
while(delivering);
try {t.join();} catch (InterruptedException e1) {e1.printStackTrace();}
while(t.isAlive());
这两个动画都执行一个接一个。我希望他们能够同时运行。我怎样才能做到这一点?
http://developer.android.com/reference/java/util/concurrent/Executor.html – Raghunandan 2013-04-09 12:03:33
它们是在彼此之后执行的,因为你用while(deliver)阻塞了“父”线程;和while(t.isAlive());. – damian 2013-04-09 12:04:49
因此,我可以立即加入()线程吗?它会等待线程结束执行来调用join()?或者我可以删除它? – Aziz 2013-04-09 12:34:23