Термин объект используется программистами. По сути объект – это какой-то предмет, обладающий определенным набором свойств и может выполнять определенную группу действий (и над ним может выполняться определенная группа действий). Вам необходимо научиться находить объекты в игре. Примеры: * Конкретный юнит в игре – объект. Свойств у него достаточно много: количество жизней, количество маны, игрок, которому он принадлежит, цвет, размер, положение на карте, направление взгляда, приказание, данное юниту, анимация, исполняемая юнитом, спецэффекты и заклятия наложенные на юнит, тип атаки, тип брони, доступные заклятия, потребляемая еда и т. д. С объектом юнит могут быть произведены определенные действия: изменить количество жизни и маны у юнита, изменить его положение на карте, изменить цвет, размер, направление взгляда и т. д. * Является ли курсор мыши объектом? Да, является. Его свойства – положение на экране, форма курсора. Возможные действия – изменить положение курсора, сменить его форму. К Варкрафту это, правда, не относится. * Сама игра несомненно является объектом. Некоторые ее свойства: продолжительность игры, количество игроков, игровая карта, вместе со всеми юнитами и доодадами и т. д. Действия с игрой, как объектом: игру можно начать и закончить, приостановить, продолжить. Как видно из последнего примера – существуют сложные объекты, включающие в себя другие более простые. Так, внутри объекта игра имеются объекты юниты. Ясно, что почти каждый "предмет" можно рассматривать как объект. Однако при программировании нам понадобится работать с конкретными объектами. Например, триггерная система не позволяет нам определять и тем более менять положение курсора мыши на экране. Поэтому этот объект мы сразу исключаем из своего рассмотрения. Но кроме лишних объектов, есть так же и лишние свойства и действия. Так например, свойство объекта юнит – внешний вид (используемая модель) невозможно поменять с помощью триггеров. Мы можем поменять его с помощью редактора объектов, но не триггерами. Значит это свойство юнита – модель и действие – смена модели можно исключить из рассмотрения при создании триггеров. Проведя анализ игры и средств WE можно прийти к выводу, что в игре используется не так уж много объектов, каждый из которых имеет ограниченное число свойств и действий, которые можно с ним производить с помощью триггеров. Объектов достаточно много, можете посмотреть в типах переменных (по-пробуйте создать переменную). Даже числа и триггеры — объекты... В WE для простоты триггерные действия разделили на категории, каждая из которых соответствует действиям над определенным типом объектов. Так легче искать нужное действие. Что касается свойств объектов, то тут ситуация немного сложнее. Их готового списка не существует, но кое-что можно узнать при создании условий триггера либо когда Вы пытаетесь присвоить переменной определенное значение (либо просто рассуждением). Вы помните, что условия триггеров тоже разделены на категории: boolean, integer, real, unit, unit type и т. д. Но в отличие от триггерных действий здесь деление по другому принципу. Эти категории не имеют прямого отношения к объектам. Просмотрев список условий из разных категорий Вы сможете выделить свойства объектов. Например, в категории boolean есть условие "юнит жив". Это свойство объекта юнит – жив он или мертв. Еще пример из той же категории "юнит в регионе". Данное свойство принадлежит не одному, а двум объектам: с одной стороны это свойство юнита – находиться в определенном регионе, с другой – это свойство региона содержать определенный юнит. Пример Проведу анализ объекта регион. Ход рассуждений. В WE регион обладает следующими свойствами: название, положение, цвет, размер и погодный эффект, наложенный на регион. Действия с регионами – создать, удалить, переместить. Однако с помощью триггеров можно определять не все свойства и производить не все действия – лишь часть. Приведем их. Свойства: * Название * Содержать определенный юнит * Содержать определенную точку карты * X и Y координаты центра региона * X и Y координаты центра * Размер — длинна и ширина Действия: * Переместить регион. Проведя такой анализ для каждого игрового объекта, Вы будете знать все потенциальные возможности триггеров в Варкрафте, узнаете параметры объектов и способы воздействия на них. Конечно, изучить все объекты с их свойствами и действиями довольно сложно, но можно изучать не сразу, а по необходимости. Задание По образцу из примера провести анализ 2-3 объектов (кроме региона). Ход рассуждений приводить не надо, но свойства и действия должны быть. Самый сложный объект в игре — объект юнит. Если проведете его анализ — можно больше ничего не анализировать Хотя можно проанализировать объект триггер.
|