Анимация Drawable не анимирует в андроиде? - PullRequest
0 голосов
/ 31 августа 2010

Я создал анимацию для рисования и просмотра изображений в моей основной ветке игры, которая настраивается на основе действия, которое обрабатывает игровую ветку (запускает ее и т. Д.). Мой код в этой операции обработки выглядит так:

            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) и вообще не анимируется. Что я пропустил?

Я пытался установить animation.start () из run () в mDistractionsThread, но это только дало мне фатальное исключение, потому что представление можно изменять только из класса, который изменяет его поля - что в данном случае не является игровым потоком. .

Как я могу решить эту проблему и получить анимацию по кадрам, а для бонусных очков, перемещаясь по оси X?!

Большое спасибо

1 Ответ

0 голосов
/ 10 мая 2011

Имеет значение, где вы начинаете анимацию. Попробуйте запустить его в onFocusChanged () в упражнении. Это должно помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...