Создание диалоговых окон
Автор статьи: zuserg

Благодаря этой статье вы научитесь создавать диалоговые окна.

Самое простое диалоговое окно выглядит так:

Диалоговое окно состоит из: Названия и Кнопок (на скрине сверху всего одна кнопка, но их может быть больше)

Чтобы вывести диалоговое окно во время игры на экран сначала нужно создать переменную типа "Диалог":

Открываем "Редактор триггеров":

"Переменные":

Нажимаем "Новая переменная":

В открывшемся маленьком окошке вводим любое название переменной и тип переменной - "Диалог":

Затем нажимаем "ОК".

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

Возвращаемся в "Редактор триггеров" и создаём новый триггер, назвать можно как угодно например: "myFirstDialog"

Теперь надо создать "Событие", при котором появится наш диалог.

Без события триггер не заработает!

Так как я показываю простой пример, то и событие будет простое: "Прошло несколько секунд игры"

Заметьте, что использовать в данном примере событие "Map initialization" нельзя, так как событие инициализации карты происходит тогда, когда на эране ещё ничего нет.

Условия создавать не будем.

Но без действий мы обойтись не сможем.
Нажимаем "Новое действие", и выбираем тип - "Диалог":

Перед нами 4 действия:

1.Show/Hide - Показать/Скрыть - Показывает Игроку тот или иной Диалог;
2.Change Title - Изменить Название - Меняет название Диалога;
3.Create Dialog Button - Создать Диалоговую кнопку - Создаёт кнопку;
4.Clear - Очистить - Очищает выбранный диалог(убирает название, кнопки)

Заметьте, что перед тем как давать название диалогу, создавать кнопки и т.п. следует ОЧИСТИТЬ (4.Clear) наш диалог.

Все эти действия должны быть в нашем триггере, в правильном порядке:

Сначала очищаем наш диалог (4.Clear);
Затем меняем название диалога (2.Change Title);
Потом создаём кнопку или кнопки (3.Create Dialog Button);
И показываем наш диалог игроку(1.Show/Hide).

Вот как будет выглядеть наш триггер:

Сейчас можно проверить(запустить) карту.
Через 5 секунд после начала игры появится наше диалоговое окно.
Вы можете нажать на кнопку, но ничего не произойдёт!

Игра понятия не имеет что мы хотим от этой кнопки.
Поэтому мы должны объяснить игре что мы хотим чтобы происходило при нажатии на кнопку.
Cделаем это с помощью ещё одного триггера.
Создаём новый триггер, называем его как угодно, например: "clickButton"

Заметьте, что имена ни как не влияют на игру. Они только для вас. Однако, если вы открываете карту, которую не трогали месяц или два и видите триггер с названием "Безымянный триггер 038", вы помните зачем он? что в нем?
Именно поэтому вы должны всегда давать триггерам, папкам, переменным имена которое вам поясняет задачу и смысл этого триггера, папки или переменной.

Этот триггер также нуждается в Событии.
Есть событие которое запускает триггер при нажатии любой кнопки в диалоге...
Но когда более одной кнопки как игре понять что мы хотим от "Кнопки 1", а что от "Кнопки 2"?
Тогда каждая кнопка должна иметь свою переменную.

Создайте новую переменную типа "Кнопка":

Вернёмся к нашему первому триггеру и после действия создания новой кнопки создадим действие, присваивающее только что созданную кнопку к нашей переменной:

Теперь мы можем продолжать делать триггер "clickButton".
Создаём событие(Диалог-Нажата кнопка диалога):

Затем надо создать новое условие, которое будет проверять что за кнопка нажата:

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

Заключение:
Творите! Всё зависит только от вашей фантазии. Почаще заходите на мой сайт, я буду заливать статьи очень часто=)
А насчёт диалоговых окон... на основе моего примера можно создать простенькую карту где вначале игры перед всеми игроками встаёт выбор из например 5 героев и все они появляются в случайном месте карты и ищут друг друга, по пути убивая мелких монстров.

Категория: Триггеры | Добавил: Pirat9629 (05.03.2011)
Просмотров: 3630 | Комментарии: 3 | Теги: Триггеры | Рейтинг: 5.0/4
Всего комментариев: 3
3 фывфы  
0
А на некоторых картах видел как при нажатии какой-либо клавиши диалоговое окно выбирается сама. Прошу подробно об этом..

2 Thanker  
0
Спасибо, сильно помогли

1 Warcraft_Sam_Fan  
0
спосибо помогли

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]