• Страница 1 из 1
  • 1
Форум » Обсуждение аддонов » Разработка аддонов WoW » Анимация
Анимация
Nyll
Всем привет. В этой статье я мы будем учится делать анимацию в аддоне. Я покажу вам 3 вида анимации: Прозрачность, Увеличение/Уменьшение, Повороты



Инструкция по созданию toc файла - клик
Ссылка на предыдущие статью - Редактирование сообщения
Скачать notepad++ - Скачать
API функции - WoWJP API

Для начала нам нужно определится, для чего и какая нам нужна анимация.

Первым делом создаем фрейму.

Code
local f = CreateFrame("Frame", nil, UIParent)
f:SetWidth(32)
f:SetHeight(32)
f:SetPoint("CENTER")


Фрейму делаем без текстур и небольшого размера.

Дальше делаем текстуру для фреймы.

Code
local tx = f:CreateTexture(nil, "BACKGROUND")
tx:SetAllPoints()
tx:SetTexture("interface/icons/inv_mushroom_11")


Теперь перейдем к создании анимации... "Группа" анимации создается как фрейма но проще.

Code
f.anigroup = f:CreateAnimationGroup()


Создаем эффект вращения.

Code
f.spin = f.anigroup:CreateAnimation("Rotation")


Дальше указываем "Ордер". Ордер это как последовательность действий т.е если у анимации поворота будет ордер 1 у анимации увеличения будет ордер 2, то будет вначале включатся анимация поворота а потом анимация увеличения. Если указать ордер одинаковый у 2х элементов анимации то они будут запускаться одновременно.

Code
f.spin:SetOrder(1)


Дальше указываем время вращения в нашем случаи будет 0.8 секунды.

Code
f.spin:SetDuration(0.8)


Вращение

Code
f.spin:SetDegrees(720)


Все! Первый эффект анимации готов. Теперь переходим к эффекту увеличения.

Создаем эффект.

Code
f.scale = f.anigroup:CreateAnimation("Scale")


Указываем "Ордер" у нас он также будет 1 как и в первом эффекте.

Code
f.scale:SetOrder(1)


Задаем время увеличения у нас это будет 1 секунда.

Code
f.scale:SetDuration(1)


Дальше указываем ширину и высоту.

Code
f.scale:SetScale(5,5)


Теперь переходим к эффекту исчезания.

Создаем эффект.

Code
f.fade = f.anigroup:CreateAnimation("Alpha")


Дальше указываем "Ордер" его номер будет "2"

Code
f.fade:SetOrder(2)


Указываем время исчезания.

Code
f.fade:SetDuration(0.5)


Добавляем фактор.

Code
f.fade:SetChange(-1)


Добавляем окончание периода это 0.5 секунды.

Code
f.fade:SetEndDelay(0.5)


Все теперь указываем параметр который будет отвечать за то сколько раз будет проигрываться наша анимация.
У данного параметра есть 2 значения BOUNCE и NONE
BOUNCE - Повторение анимации
NONE - Воспроизведении анимации 1 раз.

Code
f.anigroup:SetLooping("BOUNCE")


Дальше добавляем элемент который будет запускать нашу "Аним группу"

Code
f.anigroup:Play()


Весь код:

Code
local f = CreateFrame("Frame", nil, UIParent)
f:SetWidth(32)
f:SetHeight(32)
f:SetPoint("CENTER")
         
local tx = f:CreateTexture(nil, "BACKGROUND")
tx:SetAllPoints()
tx:SetTexture("interface/icons/inv_mushroom_11")
         
f.anigroup = f:CreateAnimationGroup()     
         
f.spin = f.anigroup:CreateAnimation("Rotation")     
f.spin:SetOrder(1)
f.spin:SetDuration(0.8)
f.spin:SetDegrees(720)     
         
f.scale = f.anigroup:CreateAnimation("Scale")
f.scale:SetOrder(1)     
f.scale:SetDuration(1)     
f.scale:SetScale(5,5)     
         
f.fade = f.anigroup:CreateAnimation("Alpha")
f.fade:SetOrder(2)     
f.fade:SetDuration(0.5)
f.fade:SetChange(-1)     
f.fade:SetEndDelay(0.5)
         
f.anigroup:SetLooping("BOUNCE")
f.anigroup:Play()


Удачи вам в создании аддонов.
п.с Код не мой, наткнулся на него случайно и решил написать про него гайд. Выражу большую благодарность автору данного кода happy к сожалению ник его мне не известен.
Маме беркута привет!
Сообщение # 1 отредактировано Nyll - Понедельник, 03.09.2012, 21:12
0niwone
WoW-Carnge <Dev>
Абсолютно бесполезный аддон
Пользуюсь гарант услугами pwlvl.ru
Сообщение # 2 написано 04.09.2012 в 07:54
Nyll
Quote (0niwone)
Абсолютно бесполезный аддон

Это не аддон а компонент аддона.
Можно сделать анимацию закрытия фреймы..
Маме беркута привет!
Сообщение # 3 написано 04.09.2012 в 14:06
Vladyxxa
Капрал
Quote (0niwone)
Абсолютно бесполезный аддон

Quote (Nyll)
Можно сделать анимацию закрытия фреймы..

не обращай внимания, люди критикуют то, до чего сами не в силах додуматься
P.s. нормальная статья, уверен, пригодится)
Сообщение # 4 отредактировано Vladyxxa - Вторник, 04.09.2012, 17:02
Zver107
Arcenal-Team|Admin
аддон как то не ок

Сообщение # 5 написано 04.09.2012 в 22:18
0niwone
WoW-Carnge <Dev>
Да он ни не ок
Он бессмысленный
И Хватит удалять мои сообщения. Ты всю критику стираешь ?
Пользуюсь гарант услугами pwlvl.ru
Сообщение # 6 написано 04.09.2012 в 22:51
Kante
Born To be Free
Nyll уже не в силах придумать что-то новое smile
Сообщение # 7 написано 04.09.2012 в 23:29
Nyll
Quote (0niwone)
Да он ни не ок
Он бессмысленный
И Хватит удалять мои сообщения. Ты всю критику стираешь ?

Я критику не стираю.. Вы вообще думаете о чем пишите? Я показал вариант анимации, это компонент аддона а не сам аддон.

Вы бы перед тем как писать прочитали статью..
Маме беркута привет!
Сообщение # 8 написано 05.09.2012 в 00:40
Forumwowjpp
Скаут
Нормальный аддон можно анимации к аурам при:вязать.
Сообщение # 9 написано 05.09.2012 в 09:09
Nyll
Quote (Forumwowjpp)
Нормальный аддон можно анимации к аурам при:вязать.



Это не аддон! Как вы говорите у этого "Аддона" вообще нет функционала. Считайте что это набор функция для аддона.. Следующие подобные посты буду удалять и приравнивать к набиванию постов т.к нужно прочесть содержимое темы а не просто отписать "Кул спс".
Маме беркута привет!
Сообщение # 10 отредактировано Nyll - Среда, 05.09.2012, 13:11
Acherus
Angel Keeper
найс
Kante, а ты сам придумай?
Сообщение # 11 написано 05.09.2012 в 17:39
0niwone
WoW-Carnge <Dev>
Quote (Nyll)
Я критику не стираю.

не надо мне сказки рассказывать
3 раза сообщение удаляли deal
Пользуюсь гарант услугами pwlvl.ru
Сообщение # 12 написано 05.09.2012 в 19:39
Nyll
Еще раз увижу флуд/оффтоп, буду банить - надоели.
Маме беркута привет!
Сообщение # 13 написано 06.09.2012 в 02:19
Форум » Обсуждение аддонов » Разработка аддонов WoW » Анимация
  • Страница 1 из 1
  • 1
Поиск: