-
Melissa | Дата: Пятница, 22-11-2013, 17:03:12 | Сообщение # 1 |
КотоБог
загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
|
Данная статья научит вас использовать изображения в карте на плоскости.
Стандартная функция GUI Изображение - создать - к сожалению не работает. Кроме того, есть несколько нюансов, которые необходимо учесть при работе с изображениями в варике.
Подготовка картинки
Возьмём в качестве примера вот это изображение:
Она не подходит для использования по следующим критериям: не имеет прозрачного ободка(все края изображения должны быть "прозрачного" цвета, иначе края размоются примерно на 40% дальше границ изображения) не в формате blp или tga(Вар принимает только их) не квадратная (ширина должна быть равна высоте, иначе в игре будет выглядеть кривовато) Так же, если какая-либо из сторон картинки не кратна 2 - делаем её кратной 2. Если картинка 313 на 275 - делаем 314 на 276.
Итак. Чтобы сделать прозрачный ободок откроем картинку в PaintNet к примеру. Файл - сохранить как - TGA - 32-разрядное TGA(именно 32) теперь берём инструмент "выделение" и выделяем тоненькую полоску со всех 4 сторон и нажимеам Delete. Должно получится что-то вроде этого:
Далее делаем её квадратной. Делаем мы это так: Изображение - размер холста, выбираем чтобы изображение сидело в середине (9 кнопочек таких сбоку) и ставим меньшую сторону такой же величины, как и большая. теперь можно оставить её и в формате TGA, но лучше открыть картинку в программе BLP lab и пересохранить в BLP. Формат BLP весит меньше значительно, а если станете
сжимать качество(здесь же в BLPlab) - то и ещё меньше. Импортируем картинку в карту, пропишем ей путь в мнеджере импорта, например Shana.blp
Вставляем в шапку карты(в редакторе триггеров щёлкаем по названию карты вверху, а затем справа в поле "Нестандартный код") вот это: function CreateImageEx takes string imagePath, real size, real x, real y, real z, boolean showImage returns image local image i = CreateImage(imagePath, size, size, 0, x - (size / 2), y - (size / 2), z, 0, 0, 0, 2) call SetImageRenderAlways(i, true) call ShowImage(i, showImage) return i endfunction
function CreateImageExLoc takes string imagePath, real size, location whichLocation, real z, boolean showImage returns image return CreateImageEx(imagePath, size, GetLocationX(whichLocation), GetLocationY(whichLocation), z, showImage) endfunction В том триггере, где мы хотим создать картинку - пишем Custom script: set udg_Image[1] = CreateImageExLoc("Shana.blp", 824, GetPlayerStartLocationLoc(Player(0)),.0, true) где: udg_Image[1] - переменная-массив Image, которую вы можете и не создавать. Создаём переменную только если хотим ещё какие-то действия с картинкой делать. "Shana.blp" - путь к картинке в менеджере импорта или в варике, если путь включает \ - необходимо писать \\, например "Textures\\Shana.blp" 824 - это размер картинки на плоскости, вы можете сжать или растянуть её по желанию. GetPlayerStartLocationLoc(Player(0)) - стартовая позиция 1 игрока, вместо этого может быть любая точка, какую захотите. Если точка - переменная P, пишем udg_P
К сведению - неважно, blp или tga расширение вы напишете в функции. То есть вы можете написать "Shana.tga", хотя на самом деле картинка в формате BLP.
Результат
Запускаем карту, любуемся:
Удалить изображение можно гуишной функцией Изображение - destroy Image[1] Скачать пример Используем картинки в warcraft
Мои карты Наработки,статьи Мой анимелист Чтобы модераторы души в вас не чаяли
|
| | |
-
Imba | Дата: Пятница, 22-11-2013, 17:06:49 | Сообщение # 2 |
КотЭ
загрузка наград ...
Группа: V.I.P.
Сообщений: 1395
Репутация: 1289
Статус: Не на сайте
|
я использовал стандарт))) просто попарился 10 мин и угадал ккак нужно. хотя и такой способ тоже неплох
|
| | |
-
Melissa | Дата: Пятница, 22-11-2013, 17:20:24 | Сообщение # 3 |
КотоБог
загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
| | |
-
Phoenix | Дата: Среда, 26-03-2014, 10:31:16 | Сообщение # 4 |
Рыцарь
загрузка наград ...
Группа: V.I.P.
Сообщений: 152
Репутация: 1454
Статус: Не на сайте
|
0о что за странный способ , это можно сделать за 10 сек берешь картинку ( предварительно запихнув её в варик :D ) создаешь модель с москитами и с моделью самой этой картинки и всё дальше размещаешь картинку так как хочешь
|
| | |