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


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

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

Скачать


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

1

Добавил: AlexMaster

Дата: 14.04.2014


В этой статье я расскажу, как создать индикатор здоровья и маны, для своей карты warcraft. Это своего рода две полоски, отображающие, сколько у игрока осталось здоровья и маны. Все это будет осуществлено с помощью мультибоарда. В итоге у нас должно получится то, что на рисунке.

indicator

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

Переменные

Для начало нужно создать переменные.
Health тип целочисленный - переменная отвечает за индикатор здоровья
Mana тип целочисленный – переменная отвечает за индикатор маны.
HEX_string – тип строка, эта переменная будет хранить в себе строковое значение из 255 символов.
Multiboard – тип меню паузы, потребуется для создание мультибоарда, как создать мультибоард я писал в этой статье Как сделать мультиборд для статистики игрока.
Strings тип строка массив – это строковое значение пригодится для хранения данных когда мы будем создавать цикл.

Unit – тип боевая единица

Создание функции.

Следующее, что нужно сделать это создать функцию, в которой будет храниться всего лишь одна переменная HEX_string со строковым значением. Для создании функции войдите в редактор триггеров и щелкните по названии карты, которая имеет расширение .w3x или .w3m.

indicator

Появится два окна, первое окно для комментариев, второе для кода. В окно для кода введите следующий код.


function Indicator takes nothing returns nothing
set udg_HEX_string = "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||"
endfunction


Конец функции. В ковычках 256 символов.
В этом коде обозначена наша переменная, а в кавычках сам индикатор.

Триггер “init”

Теперь создайте главный триггер init для своей карты warcraft. В триггере создайте событие Map Initialization, а в действии запустите только, что созданную функцию, делается это с помощью Custom Script, пример на рисунке.

indicator

Cоздайте цикл который будет начинаться от единицы и заканчиваться 255.

indicator

В цикле будет создано условия, где будет проверяться равно ли арифметическое выражение Integer A, если да то будет выполнено действие, условие называется Integer Comparison. В действии будет указана переменная Strings[(IntegeraA)], к этой переменной будет присвоена Strings[(IntegerA)] + (Substring(HEX_string,1,(Integer A)))), пример на рисунке.

indicator

На рисунке видно, что происходит конкатенация строк (что такое конкатенация смотреть в статье
Создание диалогового окна для повышения характеристик героя), Substring означает извлечения определенного набора символов. В нашем случае будем извлекать символы из переменной HEX_string, начиная с первого и заканчивая Integer A, цикл.
Следующее действия, то же самое только вместо Integer A, нужно использовать арифметику (integer A + 1), пример на рисунке.

indicator

Триггер Change

Этот триггер нужен для изменения индикатора здоровья и маны при щелчке на любом герое или воине.

indicator

В этом триггере создается событие, когда игрок выбирает любую боевую единицу. Тут же создаётся переменная со значением (Triggering unit), дальше идет действие, которое изменяет заголовок в мультибоарде на имя выбранного героя пример на рисунке.

indicator

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

Триггер Start

Триггер Change был создан, который отвечает за изменения данных, но менять пока еще нечего потому, что нет мультибоарда. Вот мы его сейчас и создадим. Наш триггер будет начинаться с события Map initialization, сам мультибоард будет содержать всего две строки и три столбца, в итоге у нас должен получится следующий пример на рисунке.

indicator

Создание мультбоарда начинается с действия “Меню паузы – Create”. Потом объявляется переменная Set Multiboard, где присваивается значение (Last created multiboard). Дальше идет действие, отображение первой строки и колонки, где значение для текста нужно установить “скрыть”, а для иконки “показать”, это действие называется “Меню паузы – Set item display style”, для остальных двух колонок создайте такие же действия только на этот раз установите, отображение текста, а иконку скройте. Все это было создано только для первой строчки мультибоарда для второй повторите все те же действия. Дальше нужно определить ширину каждой колонки, делается это с помощью действия “Меню паузы – Set item width”. Установить размер колонок, как показано на рисунке выше для первой и второй строчки, то есть размер колонок будет 1.50 %, 10.00%, 3.00%. Ну и последнее нужно установит картинки в первой колонке, для этого используются действия “Меню паузы – Set item Icon”. Картинки я использовал “камень маны” и “камень здоровья”. Пример можно увидеть на рисунке в самом начали статьи. “Меню паузы – Show/Hide” показывает мультбоард, а “Меню паузы Minimize/Maximize” разворачивают и сворачивают мультибоард. Мультибоард для карты warcraft создан, читайте продолжение статьи
Создание индикатора здоровья и маны. часть 2.

Назад

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

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

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

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

 

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