2014-01-29 2 views
2

Я хочу попробовать некоторые морфологические эффекты характера, такие как временные будильники Бицпина. Вот эффект video! (0:09 ~ 0:11)Как сделать эффект морфинга числа, например, своевременным будильником Bitspin?

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

У кого-нибудь есть идеи, как это делает Бицпин?

+0

может быть, они используется canvas.drawPath с морфированием пути? – pskink

+0

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

ответ

5

Когда символы представлены в векторной форме (отрезки линии/дуги Безье), они определяются небольшим количеством контрольных точек.

Вы можете создать шрифт таким образом, чтобы количество контрольных точек было одинаковым для всех цифр и определяло произвольный порядок точек.

Тогда линейная интерполяция между точками управления, попарно, даст вам аналогичный эффект морфинга формы.

Бесчисленные варианты возможны, выбирая другие схемы интерполяции, то путь точки соответствия определены, возможно, с расщепляется на независимые дуги ...

+2

Ив, спасибо за идею. Я нашел [статью] (https://sriramramani.wordpress.com/2013/10/14/number-tweening/) через ваш ответ. Точно так же, как вы сказали, это именно то, как они это делают. :) –

+0

Слишком рады узнать! –

1

Еще одна интересная библиотека TimelyView

Вот анимация enter image description here

Я просто скопировано использование часть Lib:

Использование:

XML Layout:

<com.mbh.timelyview.TimelyTimeView 
    android:id="@+id/ttv" 
    android:layout_width="wrap_content" 
    android:layout_height="60dp" 
    app:rounded_corner="true" 
    app:text_color="true" 
    app:seperatorsTextSize="50" 
    android:layout_gravity="center"/> 


<com.mbh.timelyview.TimelyShortTimeView 
    android:id="@+id/tstv_hours" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:rounded_corner="true" 
    app:text_color="true" 
    app:seperatorsTextSize="50"/> 

И еще один TimelyTextView:

Обе библиотеки совершенны и имеют красивые анимации

0

In his excellent post, Alex Loockwood описывает, как вы можете использовать функцию морфинга пути Android's vector drawable animation framwork's, чтобы создать этот эффект:

screenshot

В Github Repo число морфинг плюс необходимые пути реализуются в этом репо:

https://github.com/alexjlockwood/adp-delightful-details

Android Vector Drawable Анимации требует, по крайней мере SDK 21.

 Смежные вопросы

  • Нет связанных вопросов^_^