[Статья] Создание картинок на плоскости - Wc3-Maps Форум













[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Strateg, Melissa  
[Статья] Создание картинок на плоскости
-
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
Статус: Не на сайте
Imba, можно и по другому сделать, я описал тот способ, что более понятен мне.
Мои карты
Наработки,статьи
Мой анимелист
Чтобы модераторы души в вас не чаяли
 
-
PhoenixДата: Среда, 26-03-2014, 10:31:16 | Сообщение # 4
Рыцарь

загрузка наград ...
Группа: V.I.P.
Сообщений: 152
Репутация: 1454
Статус: Не на сайте
0о что за странный способ , это можно сделать за 10 сек берешь картинку ( предварительно запихнув её в варик :D ) создаешь модель с москитами и с моделью самой этой картинки и всё дальше размещаешь картинку так как хочешь
 
  • Страница 1 из 1
  • 1
Поиск:
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта
chat