|
Форум Обсуждение аддонов Разработка аддонов WoW Анимация |
Анимация |
Всем привет. В этой статье я мы будем учится делать анимацию в аддоне. Я покажу вам 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() Удачи вам в создании аддонов. п.с Код не мой, наткнулся на него случайно и решил написать про него гайд. Выражу большую благодарность автору данного кода к сожалению ник его мне не известен.
Маме беркута привет!
|
Quote (0niwone) Абсолютно бесполезный аддон Quote (Nyll) Можно сделать анимацию закрытия фреймы.. не обращай внимания, люди критикуют то, до чего сами не в силах додуматься P.s. нормальная статья, уверен, пригодится) |
Quote (0niwone) Да он ни не ок Он бессмысленный И Хватит удалять мои сообщения. Ты всю критику стираешь ? Я критику не стираю.. Вы вообще думаете о чем пишите? Я показал вариант анимации, это компонент аддона а не сам аддон. Вы бы перед тем как писать прочитали статью..
Маме беркута привет!
Сообщение # 8 написано 05.09.2012 в 00:40
|
Quote (Forumwowjpp) Нормальный аддон можно анимации к аурам при:вязать. Это не аддон! Как вы говорите у этого "Аддона" вообще нет функционала. Считайте что это набор функция для аддона.. Следующие подобные посты буду удалять и приравнивать к набиванию постов т.к нужно прочесть содержимое темы а не просто отписать "Кул спс".
Маме беркута привет!
|
найс
Kante, а ты сам придумай?
Сообщение # 11 написано 05.09.2012 в 17:39
|
| |||
| |||