Раздел:
Основы
API фреймов:
Общие функции

Use​Active​Context

Описание: Пока не ясно что оно делает (Кто знает напишите в коментарии)
Количество аргументов: 0

Decorate​File​Names

Описание: Найди имя файла строками
Количество аргументов: 0

Height

Описание: Высота фрейма
Количество аргументов: 1
  1. HeightFrame float
Формула: (Height / 16) * 0.01 = Размер frame

Width

Описание: Ширина фрейма
Количество аргументов: 1
  1. WidthFrame float
Формула: (Width / 16) * 0.01 = Размер frame

SetPoint

Описание: Установить точку привязки по имена фрейма
Количество аргументов: 5
  1. Point point Основная точка фрейма
    • TOPLEFT
    • TOP
    • TOPRIGHT
    • RIGHT
    • BOTTOMRIGHT
    • BOTTOM
    • BOTTOMLEFT
    • LEFT
  2. NameFrame string Указать имя фрейма который хотите привязать
  3. PointFrame point Указанную точка фрейма
    • TOPLEFT
    • TOP
    • TOPRIGHT
    • RIGHT
    • BOTTOMRIGHT
    • BOTTOM
    • BOTTOMLEFT
    • LEFT
  4. X float Точка кордината ширины
  5. Y float Точка кордината высоты

SetAllPoints

Описание: Унаследовать все точки родительского фрейма
Количество аргументов: 0
Примечание: Данная функция выполняет 4 раза SetPoint каждого угла родительского фрейма
Посветки функции (HIGHLIGHT)

HighlightColor

Описание: Установить цвет подсветки
Количество аргументов: 4
  1. Red float Красный цвет
    • min: 0.0
    • max: 1.0
  2. Green float Зеленый цвет
    • min: 0.0
    • max: 1.0
  3. Blue float Синый цвет
    • min: 0.0
    • max: 1.0
  1. Alpha float Альфа прозрачность
    • min: 0.0
    • max: 1.0
Формула: 1.0 равняется 100% = 255
Примечание: Данная функция работает только с тип фрейма HIGHLIGHT
Фоновые функции (BACKDROP)

Backdrop​Mirrored

Описание: Фоновая зеркало
Количество аргументов: 0

Backdrop​Tile​Background

Описание: Фоновая плитка
Количество аргументов: 0

Backdrop​Blend​All

Описание: Смешает фоновые текстуры
Количество аргументов: 0
Примечание: Данная опация используется как раз у TOOLTIP который делает видимость под ней.

Backdrop​Background

Описание: Установить текстур фона
Количество аргументов: 1
  1. File string Указать полный путь к файлу текстур или имя текстур

Backdrop​Background​Size

Описание: Установить размер фона
Количество аргументов: 1
  1. Value float

Backdrop​Background​Insets

Описание: Установить фоновое поле (Оталкивание)
Количество аргументов: 4
  1. Value float
  2. Value float
  3. Value float
  4. Value float

Backdrop​Corner​Flags

Описание: Установите границу
Количество аргументов: 1
  1. File string Укажите какие включить границы
    • T [1] - Вверх
    • L [2] - Влево
    • B [4] - Вниз
    • R [8] - Вправо
    • BL [16] - Вниз влево
    • BR [32] - Вниз вправо
    • TL [64] - Вверх влево
    • TR [128] - Вверх вправо
Примечание: Чтобы показать только верхний и нижний границу достаточно указать "T|B" а для триггерных функции указать число 5 (1+4)

Backdrop​Corner​Size

Описание: Установить размер границы
Количество аргументов: 1
  1. Value float

Backdrop​Edge​File

Описание: Устанавить текстур границ
Количество аргументов: 1
  1. File string Указать полный путь к файлу текстур или имя текстур
Текстовые функции (TEXT)

Text

Описание: Установить ключевой текст
Количество аргументов: 1
  1. Text string Необходимо указать ключ который имеет из базы StringList
Пример:

ButtonText

Описание: Установить текст кнопки
Количество аргументов: 1
  1. File string Имя текстовых фрейма
Примечание: Позволяет обратить кнопку фрейм для изменение текста
Пример:

Button​Pushed​Text​Offset

Описание: Установите смещение текста после нажатия кнопки
Количество аргументов: 2
  1. X float
  2. Y float
Управление функции (Control)

Control​Shortcut​Key

Описание: Установить ярлык
Количество аргументов: 1
  1. Name string
Примечание: Поддерживаются только типы кнопок

ControlBackdrop

Описание: Установить фоновые элементы управления
Количество аргументов: 1
  1. Name string Имя фоновых фрейма
    • Может быть только для типа BACKDROP
Пример:

Control​Disabled​Backdrop

Описание: Установить отключенное фоновые элементы управление
Количество аргументов: 1
  1. Name string Имя фоновых фрейма
    • Может быть только для типа BACKDROP
Примечание: Когда вы выполняете функцию BlzFrameSetEnable(button, false) то срабатывает ControlDisabledBackdrop в случае вернет стандартный
Пример:

Control​Pushed​Backdrop

Описание: Установить нажатый фоновый контроль
Количество аргументов: 1
  1. Name string Имя фоновых фрейма
    • Может быть только для типа BACKDROP
Пример:

Control​Focus​Highlight

Описание: Установите выделенный элемент управления
Количество аргументов: 1
  1. Name string Имя посветка фрейма
    • Может быть только для типа HIGHLIGHT
Пример:

Control​Mouse​Over​Highlight

Описание: Установите управление подсветкой при наведении мыши
Количество аргументов: 1
  1. Name string Имя посветка фрейма
    • Может быть только для типа HIGHLIGHT
Пример:

ControlStyle

Описание: Установить стиль (События)
Количество аргументов: 1
  1. Name string Укажите какие включить стиль
    • AUTOTRACK - Автоматическое слежение
    • HIGHLIGHTONFOCUS - Выделение на фокус
    • HIGHLIGHTONMOUSEOVER - Выделение мышку над кнопкой
Пример: ControlStyle "AUTOTRACK|HIGHLIGHTONMOUSEOVER", - означает что работает фон и курсор
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
21
4 года назад
Отредактирован scopterectus
0
что за прога нужна для подсветки фдф?
1
23
4 года назад
1
ScopteRectuS, War3Fdf VScode

Продолжение через час а пока редактирую. А пока я обедаю
0
21
4 года назад
0
Благодарю. Нужны еще статьи по фдф.
0
23
4 года назад
0
ScopteRectuS, будет я не робот чтобы все сделать =) Если в плане помогут то возможно ускорят заполнять
0
37
4 года назад
Отредактирован ScorpioT1000
0
Круто, но зачем оборачивать в цитаты?)
0
23
4 года назад
0
ScorpioT1000, Ну для красоты =)

Ребят если найдете противоречие данного функции смело пишите дабы исправлять. А пока я отошел отдохнуть!

Ост доделать некоторые функции а также добавить остальные функции
0
1
4 года назад
0
UseActiveContext нужен для однотипных виджетов (кнопки и т.д.), чтобы можно было получать по индексу.
Frame "GLUEBUTTON" "ButtonName" {UseActiveContext, ...}
loop
так: BlzCreateFrame("ButtonName", GameUI, 0, i)
или (при поиске фрейма) так: BlzGetFrameByName("ButtonName", i)
endloop
DecorateFileNames
Файл с "задекорированными" путями лежит в архиве ui\war3skins.txt
Там описаны "задекорированные" пути (по расам).
Или частично в редакторе (Game Interface галочка Display values as raw data, напр ToolTipBackground=UI\Widgets\ToolTips\Human\human-tooltip-background.blp)
0
23
4 года назад
0
AntNo, Ну про задекорирование я знал но как описать хз чтобы людям понять!

AntNo, а про UseActiveContext спасибо!

я так понимаю без UseActiveContext будет создавать только 0 индекс без дубликат. Позже проверю
0
1
4 года назад
0
Может кто-то сформулирует...
Указывает на псевдоним предопределенного пути к текстуре.
Все предопределенные псевдонимы находятся в файле (ui\war3skins.txt).
Может быть использован:
В общем случае для определения путей текстур (фон меню и т.д.) вне зависимости от расы игрока
В частном случае для определения путей к текстурам в зависимости от расы игрока (меню, кнопки, стрелки, оболочка интерфейса)
Пример - стандартный интерфейс warcraft 3.
HighlightAlphaMode
"ADD"
"BLEND"
HighlightType "FILETEXTURE"
HighlightAlphaFile "ui\widgets\console\human\human-activebutton",
HighlightType "SHADE"
HighlightColor 1.0 0.0 0.0 0.2,
0
23
4 года назад
0
MasterFont=Fonts\BLQ55Web.ttf
Frame "TEXT" "StandardButtonTextTemplate" {
DecorateFileNames,
FrameFont "MasterFont", 0.013, "",
}
Итог находит в MasterFont заменяется на Fonts\BLQ55Web.ttf
Frame "TEXT" "StandardButtonTextTemplate" {
DecorateFileNames,
FrameFont "Fonts\BLQ55Web.ttf", 0.013, "",
}
То есть если у хуман то у него свой шифт а у орка свой удобная фича так и остальные текстуры модели и так далее
0
1
4 года назад
0
Не будет лишним дописать про текст:
TEXT "Text"
Поддерживает подстановку текста из fdf-файлов (с учетом локали).
Из стандартных файлов warcraft 3, например: _locales\...\ui\framedef\....fdf (напр: TEXT "AGILITY")
Из собственных fdf-файлов, пути к которым указаны в собственном toc-файле и загружены соответствующей функцией (напр: TEXT "MY_STR")
Также функция GetLocalizedString("MY_STR") возвращает строку, описанную в самодельном fdf-файле (с учетом локали импортированного файла)
Предложение: придумать шаблон и по нему описывать все свойства, каждого вида фрейма.
Напр: тип фрейма; все возможные свойства; события, на которые он реагирует; пример готового фрейма (если нужно)
0
23
4 года назад
0
AntNo, точно забыл. Надо вызвать fdf а в ней заполнить StringList с несколько вариантов

AntNo, спс что напомнил завтра дополню эти
0
27
4 года назад
0
что это такое? и что оно делает?
0
23
4 года назад
0
UI\FrameDef\GlobalStrings.fdf
UI\FrameDef\InfoPanelStrings.fdf
UI\FrameDef\NetworkStrings.fdf
UI\FrameDef\DateStrings.fdf
Это локализации у каждая локализация свой перевод
А потом уже загружает интерфейс и все Text заполняет из StringList по имени

МрачныйВорон, ты про кого?
0
22
4 года назад
0
МрачныйВорон, тут про интерфейс вещают
0
23
4 года назад
0
Proshel_Doty, и все че о чем он?
0
27
4 года назад
Отредактирован MpW
0
pro100master, ну я еще не знаком с фрэймами и fdf. И вот интересно, fdf что делает. Думал объяснишь. Ладно забей, это надо вкурить самому, чтобы понять. Так понял щас идет разбор, и расписываешь функции. надо найди того русского парня, на русский исправит ошибки
0
23
4 года назад
0
МрачныйВорон, давно все его орали и ты не знаком?

МрачныйВорон, ну не стесняйся исправь мои ошибки русского языка.
0
27
3 года назад
Отредактирован MpW
0
зачем нужна BackdropBlendAll? абсолютно ничего не делает. Однако, я тестировал с fdf, и не смог увидеть конкретно за что отвечает этот флаг. Напрямую, это действие не делает фрейм прозрачным. Чтобы сделать прозрачным, надо изменить альфа-канал.
Была идея, что прозрачность отвечает за накладывания фреймов. водил прозрачный фрейм под другими, и ничего. Конкретный пример работы этой штуки. То что есть TOOLTIP как нубу ничего не говорит, пока что не дошел до этого ToopTip
0
17
3 года назад
0
зачем нужна BackdropBlendAll?
Отвечает за корректную отрисовку позади фрейма с прозрачностью. То бишь, не делает твой фрейм прозрачным , а корректно отрисовывет другие объекты позади твоего фрейма с прозрачностью.
0
3
2 года назад
0
МрачныйВорон:
зачем нужна BackdropBlendAll? абсолютно ничего не делает. Однако, я тестировал с fdf, и не смог увидеть конкретно за что отвечает этот флаг. Напрямую, это действие не делает фрейм прозрачным. Чтобы сделать прозрачным, надо изменить альфа-канал.
Была идея, что прозрачность отвечает за накладывания фреймов. водил прозрачный фрейм под другими, и ничего. Конкретный пример работы этой штуки. То что есть TOOLTIP как нубу ничего не говорит, пока что не дошел до этого ToopTip
Как-то слишком замудренно объясняют. BackdropBlendAll делает тоже самое, что и AlphaMod "BLEND". Только первый применяется для типа фрейма "BACKDROP", а второй - для Texture {}. В обоих случаях врубает альфа-канал в текстуре, если он имеется, без всяких эффектов, типа высветления, как это делает AlphaMod "ADD", к примеру.
0
27
2 года назад
0
gellin, я уже давно все понял. написал свои гайд. правда немного забыл
0
37
2 года назад
0
МрачныйВорон, ухх какое отвратительное форматирование, не хочешь залить к нам с легковесным txt2?
0
27
2 года назад
Отредактирован MpW
0
ScorpioT1000, могу. но эта много частей надо перенести. хз как это перенести, даже не представляю?
0
37
2 года назад
0
Вообще это жесть книга на 300+ страниц. Это надо на подстатьи делить если только, но чувствую, там много воды
Чтобы оставить комментарий, пожалуйста, войдите на сайт.