WarCraft 3: Вывод изображений во время игры

» Раздел: Работа с MPQ и импортом

Нам потребуется:

  1. Графический редактор (Советую использовать Adobe Photoshop);
  2. Программа для конвертирования TGA в BLP (Warcraft 3 Viewer (xgm.ru/files.php?fc=1));
  3. Минимальное знание World Editor’a;
  4. Изображение, которое будем выводить на экран.

Триггерные основы

Для начала разберемся с действиями из вкладки «Изображение».
Чтобы вывести изображение на экран для начала его нужно создать действием Create.
Create an image using __(Путь к изображению)__ of size __(Его размер)__ at with Z offset __(Координата по оси Z)__ using image type __(Тип изображения)__
Размер изображения можно указывать любой. Варкрафт его подгонит сам.
Тип изображения:
  • Выбор – располагается выше дудадов и ниже юнитов.
  • Индикатор – располагается ниже дудадов и ниже юнитов.
  • Метка препятствия – располагается ниже дудадов и ниже юнитов.
  • Текстура земли – располагается ниже дудадов и ниже юнитов (после прохождения юнитов остаются следы).
Теперь нам нужно показать изображение, но перед этим разблокируем его показатели:
  • Change constant height (разблокирование высоты изображения)
  • Change render always state (разблокирование для показа самого изображения)
  • Change render state (разблокирование для избежания глюков). Необходимо только, если вы используете тип «Текстура земли».
И показываем изображение действием Show/Hide
В итоге у нас получится вот такой триггер:
События:
__Ваше событие__
Условия:
__Ваше условие__
Действия:
Create an image using __war3mapImported\xgm2.blp__ of size __300__ at with Z offset __50__ using image type __Индикатор__
Change the height state of __last created image__ to __Разблокировать at 50__
Change __last created image__: __Разблокировать render always state__
__Show__ __last created image__
Смотрим, что у нас получилось:
А почему появилась такая черная заливка вокруг изображения?
Дело в том, что нужно использовать специфическое изображение для корректного отображения.

Подготовка специального изображения

Пусть разрешение нашего изображения будет 128х128 пикселей.
  • Уменьшим высоту и ширину нашего изображения на 2 пикселя, получится 126х126 пикселей
  • Создадим новое полностью прозрачное изображение разрешением 128х128 пикселей.
  • Скопируем наше уменьшенное изображение и вставим его в прозрачное, таким образом, у нас получилось наше изображение с прозрачной окантовкой шириной в 1 пиксель.
  • Сохраняем его в TGA.
  • Конвертируем в BLP с помощью Warcraft 3 Viewer.
  • Импортируем в нашу карту и записываем в триггере новый путь.
Запускаем карту и все работает отлично!
Все это вам может очень пригодится в создании миниигр на конкурс. Для лучшего восприятия выложу небольшой пример.
Благодарность WarCrafter'у за оказанную помощь.

Просмотров: 8 148

Sargeras #1 - 11 лет назад 0
Статья ничего... но ты не объяснил, как сделать чистое зелёное поле на месте чёрного прямоугольника. Если понадобится изменить статью, пришли мне новый вариант в ПС... Я теперь занимаюсь статьями...
Мои оценки:
Содержание - 4;
Оформление - 4;
Уровень знаний (по статистике удобочитаемости) - 6 класс.
Кет #2 - 11 лет назад 0
имхо статистика удобочитаемости - фуфня.
Korneliy #3 - 11 лет назад 1
Ога. Сам то ты, Ник пишешь не выше 4-го. Бад.
dk #4 - 11 лет назад 0
"но ты не объяснил, как сделать чистое зелёное поле на месте чёрного прямоугольника"
Думаю будет написано продолжение с указанием некоторых фич и т.п.
ScorpioT1000 #5 - 11 лет назад 0
Думаю, неопытные пользователи не разберутся. Дело вот в чем:
Ты написал полностью нерусские триггеры. А у многих неопытных пользователей Лицензионная версия варика, т.ч. советую переисправить.
Ну или почти полностью =)
Еще кое-что:
Изображение - это не вкладка, а пункт меню.(написано в начале)
Дудады - тоже лучше пояснить, что это по-буржуйски, а по руски - декоры.
MUDOR #6 - 11 лет назад 0
В реально сделать так чтобы если он проходил под текстурой(юнит) то его видно не было..
Zeratul #7 - 10 лет назад 1
А если увеличить высоту изображения?
SinMurlock #8 - 7 лет назад 0
Омг а проще создать декорацию на основе руны и поставить нужный файл модели ИМХО!
JassMan #9 - 7 лет назад -2
Лучше бы для Jass'еров написали, ато нифига на гуях не понятно.
vlad2010pilot #10 - 6 месяцев назад 0
Здравствуйте. Подскажите пожалуйста как сделать чтобы картинка была не горизонтально, а вертикально?