2010-08-31 71 views
0

我在我的主游戏线程中创建了一个动画可绘制和图像视图,该线程由处理游戏线程的活动(启动它等)配置。我在这个处理活动的代码如下所示:动画可绘制不在android中动画?

  mDistractionsThread.animation.addFrame(getResources().getDrawable(R.drawable.one), 1000); 
    mDistractionsThread.animation.addFrame(getResources().getDrawable(R.drawable.two), 1000); 
    mDistractionsThread.animation.addFrame(getResources().getDrawable(R.drawable.three), 1000); 
    mDistractionsThread.animation.setOneShot(false); 

    mDistractionsThread.imageAnim =(ImageView) findViewById(R.id.img); 
    mDistractionsThread.imageAnim.setBackgroundDrawable(mDistractionsThread.animation); 


    mDistractionsThread.animation.start(); 

正如你可以看到变量mDistractionsThread是一个句柄线程本身。这编译好,但只显示第一帧(R.drawable.one),并没有动画。我错过了什么?

我试图从mDistractionsThread中的run()设置animation.start(),但这只是给了我一个致命的异常,因为View只能从改变其字段的类中改变 - 在这种情况下不是游戏线。

我该如何解决这个问题并让它通过框架进行动画制作,以及在X轴上移动的奖励点?!

非常感谢

回答

0

重要的是你开始动画的地方。尝试从activity中的onFocusChanged()开始。它应该帮助