Хадей — Друг Детей

Design Mode: 4. Changing Actor Animations

Некоторые странности перевода тех или иных слов/фраз сделаны специально для облегчения чтения и сохранения целостности предложений.

Changing Actor Animations (Смена Анимации Актёров)

На каждое действие Актёра, будь то бег, прыжок или стрельба, мы можем назначить свою анимацию. В этой статье мы рассмотрим изменение анимации Актёров и поработаем с анимированными кадрами. Итак, в этом номере:

-How to Change Animation (Как менять анимацию)

-Getting the Current Animation (Текущая анимация)

-Converting to an Animation Attribute (Конвертация в атрибут Анимации)

-Working With Frames (Работа с кадрами)

Замечание: В некоторых случаях лучше создать нового актёра, чем сменить анимацию, но в этой статье мы не будем об этом говорить.

How to Change Animation (Как менять анимацию)

Итак, как можно поменять анимацию Актёра? Нужно использовать блок Switch Animation to [anim] for [actor] (Поменять анимацию на [анимация] для [актёра]):

Этот блок меняет текущую анимацию Актёра на новую, установленную нами. После переключения Анимация начнет воспроизводиться.

Для использования этого блока, переместите его туда, где вы хотите его использовать. Затем, напечатайте название анимации, на которую текущая анимация должна поменяться, к примеру, “Walk left” (без кавычек). Также нужно задать имя Актёра, анимация которого будет заменена. Также можно использовать атрибуты в ячейках [anim] и [actor], смотрите ниже:

 

Getting the Current Animation (Текущая анимация)

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

Так как же вычислить, какая Анимация проигрывается? Нужно использовать блок Current Animation for [actor] (Текущая анимация для [актёра]). Этот блок возвращает информацию в виде текста, поэтому он может быть помещен в любое текстовое поле (в атрибутах). Информация будет возвращена по названию проигрываемой анимации, например, “Walk left” (без кавычек).

Ну, теперь мы можем определять, какая анимация проигрывается на данный момент, и было бы неплохо знать, проигрывается ли она вообще или нет в данный момент.  Но перед этим давайте разберемся, что вообще значит, когда анимация «проигрывается» (“playing”), так сказать, посмотрим на это изнутри.

 

Is the Animation Playing? (Анимация проигрывается?)

Когда мы создает анимация для Актёра, она может состоять из одного или более кадров. Каждый кадр отображается определенное время. Итак, «анимация «проигрывается» означает время, которое занимает показ всех кадров, от начала первого до конца последнего. Иллюстрацию сего действия смотрите ниже:

Как вы можете увидеть, 8 кадров, и у каждого продолжительность в 50 миллисекунд. Анимация будет проигрываться в течение 8*50=400 миллисекунд. Дно важное замечание: если анимация зациклена (loop), она будет проигрываться всегда

 

Converting to an Animation Attribute (Конвертация в атрибут Анимации)

Иногда бывает необходимо конвертировать что-нибудь (текст или числа) в анимацию. Это особенно востребовано при часто работе с анимацией. Для этого нужно использовать блок as animation. Ниже можно посмотреть пример того, как этот блок используется:

На картинке выше мы задаём анимацию для отображения силы, с которой персонаж будет прыгать.

Working With Frames (Работа с кадрами)

Теперь, зная, как переключать анимации Актёров, мы поговорим о переключении кадров, о том, как обратиться к текущему кадру и об общем количестве кадров в анимации. Для этого нужны следующие блоки:

Switching frames (Переключение кадров)

Чтобы переключить кадры в анимации, используется блок switch to frame [frame number] for [actor] (переключить на кадр [кадр] для [актёра]):

После переключения кадра анимация продолжит проигрываться и остановится на последнем кадре (или нет, если включено зацикливание (looping))

 

Getting the Current Frame (Обращение к текущему кадру)

Внезапно может наступить момент, когда понадобиться узнать, какой кадр анимации проигрывается. Для этого используем блок get current frame for [actor] (вытащить текущий кадр для [актёра]):

Этот блок возвращает номер (число, number) текущего кадра.

Getting the Total Number of Frames (Обращение к общему количеству кадров)

Тут все также просто, используем блок get frame count for [actor] (количество кадров для [актёра]).

Полное или частичное копирование данного перевода на бич-сайты да и вообще карается шлёпкой по попке. Перевёл Загё. На счет непонятностей и неточностей – в комментарии.

Design Mode: 1. How to Make Custom Blocks?



Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>