Отображение обеих сторон монеты, перевернутой с помощью стандартной анимации Android - PullRequest
5 голосов
/ 26 мая 2011

Я очень близок к тому, чтобы заставить работать анимацию "подбрасывания монет", но из-за ограничений (ошибок?) В текущей системе анимации - я не могу найти способ показать ОБА сторонам монет, переворачивающихся в воздухе .

Например, у меня есть следующая анимация .XML:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"     
     android:shareInterpolator="false">    
        <scale
            android:repeatCount="17"
            android:repeatMode="reverse" 
              android:interpolator="@android:anim/accelerate_decelerate_interpolator"
            android:fromXScale="1.0" android:toXScale="1.0"
            android:fromYScale="1.0" android:toYScale="0.0"
            android:pivotX="50%"     android:pivotY="50%"
            android:fillEnabled="true"
            android:fillAfter="true"
            android:duration="60"
        />      
        <scale
            android:repeatCount="1"
            android:repeatMode="reverse" 
              android:interpolator="@android:anim/accelerate_decelerate_interpolator"
            android:fromXScale="1.0" android:toXScale="2.0"
            android:fromYScale="1.0" android:toYScale="2.0"
            android:pivotX="50%"     android:pivotY="50%"
            android:fillEnabled="true"
            android:fillAfter="true"
            android:duration="800"
        />      
        <translate
            android:repeatCount="1"
            android:repeatMode="reverse" 
            android:interpolator="@android:anim/accelerate_decelerate_interpolator"
            android:fromXDelta="0%"
            android:toXDelta="0%"
            android:fromYDelta="0%"
            android:toYDelta="-150%"
            android:fillEnabled="true"
            android:fillAfter="true"
            android:duration="800" 
        />
</set>

Это "подделывает" анимацию переключения, масштабируя монету по оси Y и переворачивая ее в цикле. В сочетании с этим существует масштаб, позволяющий увеличить общую анимацию, а также переводить ее вверх и вниз. Но он только покажет одну сторону монеты.

Я попытался запустить две из этих анимаций с каждой стороны монеты одновременно, но не могу найти способ ошеломить их из-за того, что REPEATCOUNT не работает при применении к AnimationSet. В противном случае я мог бы ввести некоторую задержку после одной анимации (и перед другой), чтобы они чередовались, создавая иллюзию подбрасывания монеты.

Кто-нибудь знает, как я могу настроить это, чтобы получить желаемый результат?

Я думал о том, чтобы отказаться от анимации на основе фреймов (предварительно обработать флип как фреймы), но кажется, что вы не можете смешивать анимированные кадры и анимации, поэтому я потерял бы "высоту" флип и эффекты "расстояния".

(У меня есть еще одна проблема, когда дело касается посадки монет - например, конечный результат является случайным, но я надеюсь, что смогу включить фактический результат в конце?)

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 15 ноября 2012

Я сам искал что-то подобное, даже с масштабированием изображения, поэтому кажется, что изображение становится ближе к экрану.

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

https://github.com/Lojko/Booty/blob/master/src/game/booty/BootyGameActivity.java

Изменено местоположение исходной ссылки: http://www.jasoncavett.com/2011/05/changing-images-during-an-android-animation/#comments

См. Класс FlipCoin и его использование. У меня уже есть анимация (созданная так же, как подробно описано по ссылке)

1 голос
/ 26 мая 2011

Этот код показывает ту же самую процедуру http://www.inter -fuser.com / 2009/08 / android-animations-3d-flip.html

0 голосов
/ 03 апреля 2018

Недавно я хотел реализовать что-то подобное для проекта.Я наконец нашел решение, и результат был достаточно хорош.Надеюсь, что это поможет кому-то еще, кто пытается добиться такой же анимации.

Я загрузил результат в виде gist на GitHub .

Для предварительного просмотра анимации нажмите здесь .

Полный проект андроид-студии можно найти в нашем CoinToss хранилище.

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