Главная RSS Онлайн игры WarCraft Приколы Карта сайта О блоге Поиск Добавить пост Ваши посты
500 рублей помощь регистрации домена и на хосте и перенос сайта туда связь


+ Подписаться

В этой книге представлены основы по HTML 5. В ней рассказывается, как создавать свою графику и анимацию, а так же работа с мышкой и клавиатурой.

Скачать


Создание индикатора здоровья и маны. часть 2

1

Добавил: AlexMaster

Дата: 14.04.2014


Триггер Every

Триггер Every для карты warcraft будет постоянно перезапускаться, обновляя индикатор здоровья и маны. Пример триггера Every на рисунке.

indicator

Триггер начинается с события “Время – Periodic Event”. Следующие две переменные Health и Mana отвечают за индикатор здоровья и маны, в значениях этих двух переменных идет преобразование реального значение в числовое, то есть значение с точкой. За это отвечает функция “Преобразование – convert real to integer”. С помощью арифметического выражения нужно умножить на 2.55, чтобы полоска индикатора выглядела более объемной. Теперь нужно отрегулировать цвет полоски здоровья, т.е если здоровье меньше или ровно 100 %, то полоска зеленая, если меньше или ровно 70 % она желтая, меньше или ровно 40% полоска красного цвета. Для создания цвета используется шестнадцатеричная система счисления, любое значение, начиная с 0 до F, т.е. (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F).
Цветовой код состоит из трех частей.
1. Открывающий тег |c – он определяет начало текста, который нужно окрасить.
2. Значение текста, это самая главная часть кода состоящая из восьми чисел.
3. Закрывающий тег |r – пишется после вашего текста.
Основные цвета

|c00FF0000Красный|r - Красный
|c00FF0000Зеленый|r – Зеленый
|c00FF0000Синий|r – Синий

Чтобы быстрее подобрать нужный цвет рекомендую использовать программу Wc3Color, там достаточно установить значение цветов с помощью scrоll bar и нажать Set Color. Итак вернемся к нашему триггеру “Event”, после переменных Health и Mana идет три условия.
Начиная с первого по последнее условие, проверяется процент здоровья переменной “unit”, напомню, что переменная “unit”, это боевая единица, которая будет выбрана мышкой, эта переменная присутствует в триггере “Change”. Возьмем, к примеру, первое условие, где проверяется процент здоровья меньше или ровно 100, если проверка проходит то активируются два действия: Меню паузы – Set item text, для второй и третей колонке первой строчки. Вторая колонка должна показывать индикатор здоровья, поэтому действие у нее будет следующее.

indicator

В конце действия происходит конкатенация строк, |cFF00FF00 – это зеленый цвет, Strings[Health] – это переменная массив, куда записывется Health, переменная Health в последствии отправится в триггер Init, где будет построенн индикатор здоровья, последний завершающий тег в действии |r. Остальные условия меньше или равно 70 % и меньше или равно 40 % можно додумать самому подскажу только цвет, у 70 % цвет |cFFFFFF00 - желтый, у 40 % цвет |cFFFF0000 - красный. В третьем столбце нужно вывести здоровье в процентах, 100 и менее процетов полоска будет зеленого цвета, поэтому следующее действие будет такое как на рисунке.

indicator

В основном эта часть состоит из конкатенации. Обратите внимарие на двойное преобразование, если просто преобразовать реальное число в строку, то процент будет обозначен с точкой например 34.123, поэтому сначало преобразуем число в строку а потом еще раз преобразуем реальное число в целое. В этом действии процент будет обозначаться зеленым цветом. В остальных двух условиях процент обозначается желтым и красным соответсвенно.
Если, что не понятно посмотрите самый первый рисунок предыдущей главы. Осталось теперь создать индикатор маны и отображение маны в процентах, здесь не надо создавать несколько цветов индикатора и условия к ним, просто будет два действия смотрим рисунки.

indicator

|c0000B7FF – цвет приближен к синему.

indicator

Цвет в процентах.
Если запустить тест то индикатор будет работать здоровье и мана будут убавляться если воин колдует или же его атакуют, но заднего фона не видно. Если посмотреть на многии игры то при получении урона у героя здоровье убавляется, но на заднем фоне видна полоска смотрим рисунок.

indicator

На рисунке видно серая полоска которая начинает появлятся при убавление здоровья. Что – бы добиться этого эффекта, нужно модифицировать триггер init.

Триггер Init – модификация

Напомню, что в триггере Init был создан цикл отвечающий за построения индикатора здоровья и маны. Теперь нужно создать серую полоску отвечающаю за фон, делается это почти так же как и основной цикл индикатора смотрим рисунок.

indicator

Создается первого цикла для карты warcraft начинается с 0 до 255, в действиях цикл объявляется переменная Strings[(Integer A)], в значении происходит конкатенация (Strings [(Integer A)] + |r|cFF999999), где |cFF999999 означает серый цвет. Дальше создается следующий цикл, в цикле создается условие как и в первом примере триггера Init проверяется равно ли арефметическое выражение Integer A, если да выполняется следующее два действия. Они не намного отличаются от предыдущего примера, смотрим рисунок.

indicator

Все то же самое, что и в предыдущем примере триггера Init, кроме последнего арифметического выражение, где от 254 отнимается Integer A.
Что касается второго действия, то можно просто скопировать предыдущее и внести кое-какие изменения, а именно в массивах Strings, создать арифметическое выражение, в первом массиве выражение будет (Integer A – 1), а во втором массиве (Integer A + 1). Если все сделано правильно, то должно работать, на этом создание индикатора для карты warcraft. Вот файл с примером скачать.

Назад

Просмотров: 859

Комментарий к этой заметки:

Добавить ваш камментарий:

Введите капчу

 

Яндекс.Метрика