Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
[Guide] oUF (Otravi Unit Frames)

Упомянутые в теме пользователи:

Показано с 1 по 12 из 77

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #2
    Старожил Аватар для Alt
    Регистрация
    05.01.2012
    Адрес
    43° 7' 131° 54'
    Сообщений
    156
    Поблагодарил(а)
    44
    Получено благодарностей: 170 (сообщений: 83).
    Репутация: 157
    3. Coding.
    Маленький словарик.

    1. True – истина, правда.
    2. False – ложь.
    3. If – если.
    4. Else – еще.
    5. Elseif – еще если (так же переводится если имеется, но это когда вычисляется True, пишется именно вместе, в PHP языке насколько помню можно двумя словами, так, небольшое отсутпление).
    6. Not – не.
    7. Then – значит, то.
    8. End – конец.
    9. Nil – неизвестно.
    10. String – строка.

    Постараюсь разобрать, какие знания нам нужны в LUA и WoWAPI для успешного кодинга.

    PHP код:
    local arg = *** 
    Это представление о функции (переменная внутри аддона) она доступна только на этом сегменте (тобишь только для этого аддона). Начинается с local, где arg имя функции, как правило, говорит само за себя.

    По local хочу еще добавить, что если Вы пишите например так:
    PHP код:
    local test 
    И
    PHP код:
    local tEst 
    Это абсолютно 2 разные вещи, это я к тому, что LUA чувствителен к регисту.

    Есть такой вариант
    PHP код:
    local func = function(arg
    ***
    end 
    Тоже функция, тоже начинается с local, но заканчивается на end, func – это название самой функции, этим вариантом мы будем пользоваться когда будем создавать backdrop, fontstring и т.д.

    PHP код:
    if(argthen
    ***
    end 
    Это условие. Начинается с if, кончается на end. Каков смысл этого? Идёт проверка условия, где условие это (arg), мы проверяем его на ложь (false), истина (true). Можно делать в условии, можно в функции.
    Пример использования.
    PHP код:
    if (arg) == true then
    elseif (arg2then
    end 
    Среда применения? Незаменимая штука когда, к примеру, для одного фрейма хочется задать один параметр, а для другого, второй.

    Ниже рассмотрим прикладные WidgetAPI и т.д.

    PHP код:
    ***:SetStatusBarTexture(texture
    Как раз таким способом задается текстура для нашей полосы хп, мп и т.д.

    PHP код:
    ***:SetText(text
    Пишем какой-либо текст. Альтернативы? Существует :SetFormattedText, он намного эффективней по ресурсам и более продвинут.

    PHP код:
    ***:SetFont(fontsizestyle
    Устанавливаем шрифт, где font – путь к шрифту, size – размер, style – вид шрифта, может быть "OUTLINE", "MONOCHROME", "THIOUTLINE", насчет стиля это по вкусу. Я для пиксельного шрифта советую "MONOCHROME", для обычного можно и не делать вовсе. Опять же чисто косметическое решение.

    PHP код:
    ***:SetStatusBarColor(rgb
    Ставим цвет для Вашего фрейма, можно задать абсолютно любой цвет. По цветам могу добавить, что прописываются они таким образом:
    Прописывается от 0 до 1 это в "%", тоесть х/255

    пример:

    PHP код:
    0.22 54/255 
    Выглядит так
    PHP код:
    ***:SetStatusBarColor(0.22,  0.22,  0.22
    PHP код:
    ***:SetVertexColor(rgb
    Применяется обычно для фонов фреймов, для затемнения можно сделать 0.3, 0.3, 0.3.
    PHP код:
    ***:SetBackdrop(backdrop
    Делаем подложку Вашему фрейму, детальней будет чуть позже.
    PHP код:
    ***:SetFontString(framefontsizestyle
    Аналогично с ***: SetFont, только тут идет привязка к определенному фрейму, где фрейм это frame, опять же, об этом позже.
    PHP код:
    ***:SetFrameLevel(level
    Устанавливаем уровень вашего фрейма, таким образом можно сделать, допустим, полоску хп над полоской мп. От 0-100.
    PHP код:
    ***:SetFrameStrata(strata
    Как бы уровень важности данного фрейма, множество вариантов, например, "HIGH", "MEDIUM","LOW", "BACKGROUND" - названия, думаю, говорят сами за себя.
    PHP код:
    ***:SetSize(size
    Размер чего-либо. Им можно заменять :SetWidth и :SetHeight. Прописывается так:
    PHP код:
    ***:SetSize(124124где 124 это ширина и высота
    PHP код:
    ***:SetAlpha(alpha
    Задаем прозрачность фрейму от 0 до 1. Тут замечу, что не всем элементам можно задавать прозрачность именно таким способом, для экшнбаров (например, когда делается маусовер для них) надо делать функцию, точно так же и для портретов в юнитфреймах.

    PHP код:
    ***:SetWidth(width
    Ширина.
    PHP код:
    ***:SetHeight(height
    Высота.
    PHP код:
    ***:SetScale(scale
    Задаем значение скейла для фрейма.
    PHP код:
    ***:SetParent(frame
    Прописываем принадлежность к фрейму.
    PHP код:
    ***:SetPoint(point
    Прописываем положение объекту. Это самый простой вариант, он содержит только 1 аргумент (point). Область применения? Это основа всего, практически, ни один фрейм не появится на экране без этого аргумента, к примеру, можно представить варианты расположения точек на экране таким образом:



    Обязательно (!) пишется в кавычках. Есть более "продвинутый" вариант.
    PHP код:
    ***:SetPoint(pointframerelativepointxy
    Пояснение:
    Point – Точка объекта которую мы привязываем к чему-нибудь.
    Frame – Сам фрейм, к которому идёт привязка всего, в данном случае если говорить о экране то пишем UIParent (обязательно так).
    Relativepoint – Точка на frame к которой идёт привязка.
    X, Y – отступы по горизонтали и вертикале, вспомните школу, представьте координатную плоскость, тут всё так же, x с плюсом значит фрейм двигается вправо, x с минусом значит фрейм двигается влево, y с плюсом значит фрейм двигается наверх, y с минусом значит фрейм двигается вниз. Всё просто.
    PHP код:
    ***:SetJustifyH(point
    Выравнивание, допустим, шрифта, где point обычно это "CENTER". Косметическое решение.
    Есть вот такое еще решение:

    PHP код:
    ***:SetJustifyV(point
    На самом деле можно продолжать бесконечно, ибо WoWAPI на это дело очень расщедрилось, в общем, если когда-то, что-то в коде не понятно, не понятно, что значит та или иная функция просто заходим сюда и ищем то, что нужно. Всё довольно-таки просто.
    Последний раз редактировалось Alt; 10.08.2012 в 06:04.

  2. 5 пользователей сказали cпасибо Alt за это полезное сообщение:

    •Pervyi•™ (15.03.2016),Error (05.01.2012),haikulolz (12.01.2012),Leecat (20.01.2013),ДядькаЗмей (07.09.2012)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •