Рекомендуемый способ сделать анимацию в Android - PullRequest
3 голосов
/ 10 января 2011

Я искал в Интернете, чтобы узнать больше об анимации персонажа в Android, но не до конца понял. Я спрашиваю здесь, может быть, вы могли бы дать мне несколько советов или подсказок о том, как сделать это наилучшим образом.

Сценарий

Представьте себе 5 нарисованных персонажей (скажем, 5 человеческих голов). Мне нужно оживить их. Под анимацией я подразумеваю заставлять глаза моргать, улыбаться, смеяться и т. Д. Сейчас я работаю над созданием растровых ресурсов для каждой анимации. Например, для анимации мерцания, в основном у меня есть 3 изображения, одно с открытыми глазами, одно с полузакрытыми глазами, одно с закрытыми глазами. Мне нужно анимировать персонажа, чтобы использовать все эти 3 изображения.

Это все анимации, которые мне нужны, ничего более причудливого. Любые предложения с чего начать?

Ответы [ 2 ]

2 голосов
/ 10 января 2011
AnimationDrawable frameAnimation;
frameAnimation = (AnimationDrawable) addselection.getBackground();

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    frameAnimation.start();
    super.onWindowFocusChanged(hasFocus);
}

добавить объект рисования с использованием этого типа xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">
    <item android:drawable="@drawable/add_selection0001" android:duration="50" />
    <item android:drawable="@drawable/add_selection0002" android:duration="50" />
    <item android:drawable="@drawable/add_selection0003" android:duration="50" />
    <item android:drawable="@drawable/add_selection0004" android:duration="50" />
    <item android:drawable="@drawable/add_selection0005" android:duration="50" />
    <item android:drawable="@drawable/add_selection0006" android:duration="50" />
    <item android:drawable="@drawable/add_selection0007" android:duration="50" />
    <item android:drawable="@drawable/add_selection0008" android:duration="50" />
    <item android:drawable="@drawable/add_selection0009" android:duration="50" />
    <item android:drawable="@drawable/add_selection0010" android:duration="50" />
    <item android:drawable="@drawable/add_selection0011" android:duration="50" />
    <item android:drawable="@drawable/add_selection0012" android:duration="50" />
    <item android:drawable="@drawable/add_selection0013" android:duration="50" />
    <item android:drawable="@drawable/add_selection0014" android:duration="50" />
    <item android:drawable="@drawable/add_selection0015" android:duration="50" />
    <item android:drawable="@drawable/add_selection0016" android:duration="50" />
    <item android:drawable="@drawable/add_selection0017" android:duration="50" />
    <item android:drawable="@drawable/add_selection0018" android:duration="50" />
    <item android:drawable="@drawable/add_selection0019" android:duration="50" />
    <item android:drawable="@drawable/add_selection0020" android:duration="50" />
 </animation-list>

здесь задайте различные изображения для анимации последовательности. Установите этот объект в качестве фона в режиме просмотра изображений

2 голосов
/ 10 января 2011

Просто для начала вы можете попробовать Frame Animation, она входит в базовый пакет Animation в Android, на официальном сайте документации есть сравнительно простой пример: http://developer.android.com/guide/topics/resources/animation-resource.html#Frame.

Если вам нужен больший контроль над анимацией, вам нужно использовать SurfaceView или Canvas и рисовать (анимацию) самостоятельно. Это тоже не сложно, но ваши потребности будут определять, что лучше всего делать. Поэтому сначала попробуйте Frame Animation, если вы обнаружите, что пост слишком ограничен, и я (или кто-то еще) могу помочь вам начать работу с SurfaceView.

...