Основы Интерфейса
Содержание:
Highlight - выделение фрейма, по-другому можно перевести как цветовой эффект фрейма. Короче, эта штука во время игры заставляет проигрывать эффекты, световые блики. Текстура светится, становится прозрачной, и прочее. Возьмем пример кнопки, когда курсор мыши наводим на кнопку, она тут же подсвечивается.
На Highlight вешают Control
На Highlight вешают Control
Highlight - это проще говоря обычная прозрачная текстура, которая накладывается поверх какого либо фрейма. Пример, когда вы наводите на кнопку, у вас она подсвечивается. А по факту, на нее сверху положили полупрозрачную текстуру.
Highlight используется только как функциональный дочерний фрейм. В Warcraft 3 V1.31 и 1.32 нет возможности изменить используемую текстуру во время игры.
fdf функции HighLight
HighlightAlphaFile
HighlightAlphaFile FilePath,
FilePath - указываем путь картинки.
FilePath - указываем путь картинки.
Пример
HighlightAlphaFile "UI\Glues\ScoreScreen\scorescreen-tab-hilight.blp"
HighlightAlphaFile "UI\Glues\ScoreScreen\scorescreen-tab-hilight.blp"
посмотрел все highlights-texturex во всех fdf-files
Я вызвал весь список highlight-files, чтобы потом не рыться в импорте (извлечение, мучиться с открытием редактора иконок, потом двести лет открывает просмотрщик и пр). Просто удобнее знать заранее какие это файлы, нетрудно будет догадаться, что они делают.
Вот список highlight-files (не уверен, что тут все highlight. Но это все которые найдены в fdf, и используются в игре):
"UI\Widgets\BattleNet\bnet-button01-highlight-mouse.blp" Blue glow
"UI\Widgets\Glues\GlueScreen-Button-KeyboardHighlight.blp" bluesurronding
"UI\Widgets\Glues\GlueScreen-CampaignButton-KeyboardHighlight.blp" bluesqure
"UI\Widgets\Glues\GlueScreen-RadioButton-Button.blp" Blue point
"UI\Widgets\Glues\GlueScreen-RadioButton-ButtonDisabled.blp" gray point
Вот список highlight-files (не уверен, что тут все highlight. Но это все которые найдены в fdf, и используются в игре):
"UI\Widgets\BattleNet\bnet-button01-highlight-mouse.blp" Blue glow
"UI\Widgets\Glues\GlueScreen-Button-KeyboardHighlight.blp" bluesurronding
"UI\Widgets\Glues\GlueScreen-CampaignButton-KeyboardHighlight.blp" bluesqure
"UI\Widgets\Glues\GlueScreen-RadioButton-Button.blp" Blue point
"UI\Widgets\Glues\GlueScreen-RadioButton-ButtonDisabled.blp" gray point
"UI\Glues\ScoreScreen\scorescreen-tab-hilight.blp" yellow glow
"UI\Widgets\Glues\GlueScreen-Checkbox-Check.blp" golden checked
"UI\Widgets\Glues\GlueScreen-Checkbox-CheckDisabled.blp" gray checked
"UI\Widgets\Glues\GlueScreen-Checkbox-Check.blp" golden checked
"UI\Widgets\Glues\GlueScreen-Checkbox-CheckDisabled.blp" gray checked
сейчас некоторые файлы blp заменены на dds
Некоторые не указывают путь, а переменные, пример:
HighlightAlphaFile "QuestDialogCompletedMouseOverHighlight",
HighlightAlphaFile "QuestDialogCompletedMouseOverHighlight",
нашел весь список переменных, вызываемые функцией HighlightAlphaFile
QuestDialogCompletedMouseOverHighlight
QuestDialogFailedMouseOverHighlight
QuestDialogButtonMouseOverHighlight
EscMenuRadioButtonSelectedHighlight
EscMenuDisabledCheckHighlight
EscMenuCheckBoxCheckHighlight
EscMenuButtonMouseOverHighlight
Найти путь и файл к этим Highlight можно посмотрев файл ui/war3skins.txt
QuestDialogCompletedMouseOverHighlight
QuestDialogFailedMouseOverHighlight
QuestDialogButtonMouseOverHighlight
EscMenuRadioButtonSelectedHighlight
EscMenuDisabledCheckHighlight
EscMenuCheckBoxCheckHighlight
EscMenuButtonMouseOverHighlight
Найти путь и файл к этим Highlight можно посмотрев файл ui/war3skins.txt
QuestDialogCompletedMouseOverHighlight=UI\Widgets\EscMenu\Human\blank-background.blp
QuestDialogFailedMouseOverHighlight=UI\Widgets\EscMenu\Human\blank-background.blp
иконка blank-background.blp - полностью прозрачная, задана альфа-каналом
QuestDialogFailedMouseOverHighlight=UI\Widgets\EscMenu\Human\blank-background.blp
иконка blank-background.blp - полностью прозрачная, задана альфа-каналом
QuestDialogButtonMouseOverHighlight=UI\Widgets\EscMenu\Orc\orc-options-button-highlight.blp
QuestDialogButtonMouseOverHighlight=UI\Widgets\EscMenu\NightElf\nightelf-options-button-highlight.blp
QuestDialogButtonMouseOverHighlight=UI\Widgets\EscMenu\Undead\undead-options-button-highlight.blp
QuestDialogButtonMouseOverHighlight=UI\Widgets\EscMenu\Human\human-options-button-highlight.blp
EscMenuButtonMouseOverHighlight=UI\Widgets\EscMenu\Orc\orc-options-button-highlight.blp
EscMenuButtonMouseOverHighlight=UI\Widgets\EscMenu\NightElf\nightelf-options-button-highlight.blp
EscMenuButtonMouseOverHighlight=UI\Widgets\EscMenu\Undead\undead-options-button-highlight.blp
EscMenuButtonMouseOverHighlight=UI\Widgets\EscMenu\Human\human-options-button-highlight.blp
QuestDialogButtonMouseOverHighlight=UI\Widgets\EscMenu\NightElf\nightelf-options-button-highlight.blp
QuestDialogButtonMouseOverHighlight=UI\Widgets\EscMenu\Undead\undead-options-button-highlight.blp
QuestDialogButtonMouseOverHighlight=UI\Widgets\EscMenu\Human\human-options-button-highlight.blp
EscMenuButtonMouseOverHighlight=UI\Widgets\EscMenu\Orc\orc-options-button-highlight.blp
EscMenuButtonMouseOverHighlight=UI\Widgets\EscMenu\NightElf\nightelf-options-button-highlight.blp
EscMenuButtonMouseOverHighlight=UI\Widgets\EscMenu\Undead\undead-options-button-highlight.blp
EscMenuButtonMouseOverHighlight=UI\Widgets\EscMenu\Human\human-options-button-highlight.blp
это для кнопок, когда мышью наводите на кнопку и она подсвечивается
эти полоски очень похожи на
"UI\Glues\ScoreScreen\scorescreen-tab-hilight.blp" yellow glow (см. выше)
"UI\Glues\ScoreScreen\scorescreen-tab-hilight.blp" yellow glow (см. выше)
EscMenuRadioButtonSelectedHighlight=UI\Widgets\EscMenu\Human\radiobutton-button.blp
EscMenuDisabledCheckHighlight=UI\Widgets\EscMenu\Human\checkbox-check.blp
EscMenuCheckBoxCheckHighlight=UI\Widgets\EscMenu\Human\checkbox-check.blp
EscMenuDisabledCheckHighlight=UI\Widgets\EscMenu\Human\checkbox-check.blp
EscMenuCheckBoxCheckHighlight=UI\Widgets\EscMenu\Human\checkbox-check.blp
эти button и check очень похожи на
"UI\Widgets\Glues\GlueScreen-RadioButton-Button.blp" Blue point
"UI\Widgets\Glues\GlueScreen-RadioButton-ButtonDisabled.blp" gray point
"UI\Widgets\Glues\GlueScreen-Checkbox-Check.blp" golden checked
"UI\Widgets\Glues\GlueScreen-Checkbox-CheckDisabled.blp" gray checked
"UI\Widgets\Glues\GlueScreen-RadioButton-Button.blp" Blue point
"UI\Widgets\Glues\GlueScreen-RadioButton-ButtonDisabled.blp" gray point
"UI\Widgets\Glues\GlueScreen-Checkbox-Check.blp" golden checked
"UI\Widgets\Glues\GlueScreen-Checkbox-CheckDisabled.blp" gray checked
HighlightAlphaMode
Добавляет различные модификации прозрачности картинке. В fdf-files нашел пока 2 модификации ADD и BLEND. Возможно есть и другие (fdf-file у Texture побольше AlphaMode, но применимы ли - не проверял)
HighlightAlphaMode "ADD",
или
HighlightAlphaMode "BLEND",
или
HighlightAlphaMode "BLEND",
В интернете в хайве выдернул эту инфу, но лучше в понимании не стало. статья из вики поэтому тестил лично, сначала долгое время было вообще не понять, пока в один прекрасный момент не дошло.
ADD - добавляет специфическую прозрачность изображению. Чаще всего добавляет эту прозрачность черному цвету. Короче, насколько у вас картинка темнее, настолько у вас будет прозрачнее. Многие blp изображения иконок варкрафта не имеют альфа-канала. Сделано специально для иконок-спецэффектов интерфейса, чтобы в фотошопе по 1000 раз не добавлять альфа канал для каждой иконки. Разработчики игры упростили нам работу с иконками, иначе бы пришлось еще и обводить прозрачность альфа-каналом.
Черный цвет в режиме ADD - абсолютная прозрачность, если хотите изображению задать черные цвета и темные тона, то вы можете забыть это использовать в моде ADD, Если нужно черный цвет и темные тона - рекомендую мод BLEND.
пример ниже картинка - рамка активной кнопки, у нас кнопка подсвечивается зеленой рамкой, а по факту текстура зеленой рамки расположена выше над кнопкой. Смотрел изображение в фотошопе, вся сама иконка внутри не имеет альфа-канала. Значит, альфа-канал каким-то образом добавлен игрой, а именно нашим модом ADD.
Это не значит, что нельзя добавить альфа-канал посредством фотошопа или другого графического редактора, и что он не будет работать. Нет, вы не правы. Мод ADD никак не выключает альфа-канал. Если в фотошопе задать альфа-канал, то тут тоже будет работать, никак не конфликтует с нашим модом ADD. черные и темные оттенки становятся либо полностью прозрачными или слегка прозрачными, а если там была еще задана прозрачность фотошопом посредством альфа-канала, то усилена.
BLEND - этот мод не добавляет никакой специфической прозрачности как в моде ADD, короче это обычная картинка. Но прозрачность можно задать в фотошопе.
При работе с картинкой в обоих случаях нужно не забывать обводить рамкой альфа-канал, а в режиме ADD необходимо обработать краям черным цветом как тут
ADD - чаще работает с кнопками (всякие эффекты на кнопках).
BLEND - чаще используется в Backdrop (обычные изображения фона. Если нужна прозрачность, могут в фотошопе задать прозрачность фона), CheckBox (обычные изображения. Чаще всего у checkbox - изображение флага - галочка или круг вокруг обведен прозрачным слоем). В триггерах у текстуры фрейма можно выключить blend, но некоторые прозрачные участки из-за отключения blend становятся черными.
HighlightType
HighlightType "FILETEXTURE",
или
HighlightType "SHADE",
или
HighlightType "SHADE",
больше типов HighlightType в fdf-files я не находил. Существует либо FILETEXTURE или SHADE, у каждого свое назначение.
FILETEXTURE - с этим вы сможете работать с HighlightAlphaFile. По примерам с fdf видно, что HighlightAlphaFile и HighlightType "FILETEXTURE" часто работают вместе. Никогда не видел раздельно.
"SHADE" - часто работает вместе с HighlightColor. По примерам видно, что эта shade (оттенок) почему-то в большинстве случаев меняет цвет и делает прозрачным.
HighlightColor
HighlightColor red green blue alpha,
Пример:
HighlightColor 1.0 0.0 0.0 0.2,
HighlightColor 1.0 0.0 0.0 0.2,
эта функция работает вместе с HighlightType "SHADE",
пример fdf-кода
Frame "HIGHLIGHT" "EscMenuCheckHighlightTemplate" {
DecorateFileNames,
HighlightType "FILETEXTURE",
HighlightAlphaFile "EscMenuCheckBoxCheckHighlight",
HighlightAlphaMode "BLEND",
}
Образцы fdf-кода для HighLight
Вы сможете посмотреть образцы фреймов и подобрать нужные вам понравившиеся эффекты. Зачем эта ссылка нужна? чтобы не терять время и сразу посмотреть на эти HighLight. Есть конечно вот это, но вы убьете слишком много времени. Я именно так и поступал. Запомните не все fdf файлы загружаются в игру, поэтому вам придется загружать самим
Как создать HighLight как отдельный фрейм?
Как создать HighLight как отдельный фрейм?
создаем fdf-file
создаем fdf-file
Frame "HIGHLIGHT" "CommandButtonActiveHighlight" {
DecorateFileNames,
HighlightType "FILETEXTURE",
HighlightAlphaFile "CommandButtonActiveHighlight",
HighlightAlphaMode "ADD",
}
и создаем фрейм триггерами
lua code
do
local real = MarkGameStarted
function MarkGameStarted()
real()
--загружаем toc.file
BlzLoadTOCFile("templates.toc")
--родитель gameUI
local gameUI = BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0)
--создаем frame типа highlight
local frame = BlzCreateFrameByType("HIGHLIGHT","frame", gameUI, "CommandButtonActiveHighlight", 0)
--задаем координаты экрана
BlzFrameSetAbsPoint(frame, FRAMEPOINT_BOTTOM, 0.4,0.0)
--если нужно прозрачность
--BlzFrameSetAlpha(frame, 50)
--размеры
BlzFrameSetSize(frame,0.4,0.3)
end
end
Содержание
`
ОЖИДАНИЕ РЕКЛАМЫ...
Комментарии пока отсутcтвуют.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.