на главную почта поиск
 
поиск
Диона Холдинг
   
   
FLASH-версия 
 Версия для печати 
  Новости
 

   
Новости  
   

Больше плиток

Как только созданы наши плитки, как объекты, тут же можно использовать некоторые преимущества объектно-ориентированного программирования.

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

(Здесь объекты есть, методов нет. Т.е. объект имеет свойства, но не имеет поведения. Поведение задается с помощью внешних функций.)

game.Tile0= function () {};
game.Tile0.prototype.walkable=true;
game.Tile0.prototype.frame=1;

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

Давайте объявим главный класс Tiles :

game.TileClass = function () {};
game.TileClass.prototype.walkable=false;
game.TileClass.prototype.frame=20;

Считаем, что любая плитка в игре не доступна для прохода по умолчанию и показывается 20 кадром. Конечно множество плиток на самом деле доступны для прохода и показываются разными кадрами (и чем 20 кадр лучше других, да ни чем, все отлично, да и кадр хорош). Пока проблем могло бы быть и побольше, не волнуйтесь, будьте счастливы, ну, а мы продолжим свой тяжкий труд, и мир станет лучше.

Теперь создадим несколько разных типов плиток:

// Так создаются классы и свойства во Flash 5
// Один тип плиток
game.Tile0 = function () {};
game.Tile0.prototype.__proto__ = game.TileClass.prototype;
game.Tile0.prototype.walkable=true;
game.Tile0.prototype.frame=1;

// Другой тип плиток
game.Tile1 = function () {};
game.Tile1.prototype.__proto__ = game.TileClass.prototype;
game.Tile1.prototype.frame=2;

// Третий тип плиток
game.Tile2 = function () {};
game.Tile2.prototype.__proto__ = game.TileClass.prototype;
// --------------------------------

Используя эту маленькую конструкцию "__proto__", мы можем дополнить объект свойствами снова и снова, наши плитки будут наследовать свои свойства от класса TileClass . Итак, когда захотим создать новую плитку, то напишем:

game.Tile2 = function () {};
game.Tile2.prototype.__proto__ = game.TileClass.prototype;

Все плитки, созданные позднее на основе шаблона, наследуют свойства walkable=false и frame=20 из класса TileClass . Неправда ли, это очень замечательно?

Но это еще не все прелести, мы можем изменить свойства плиток полученных от TileClass . Не верите? Это правда, Смотрите:

game.Tile0 = function () {};
game.Tile0.prototype.__proto__ = game.TileClass.prototype;
game.Tile0.prototype.walkable=true;
game.Tile0.prototype.frame=1;


Объект Tile0 получил свойство walkable=false от TileClass, но теперь объявим для него новое свойство walkable=true , старое свойство изменено и все плитки на основе Tile0 теперь абсолютно проходимы и будут показаны 20 кадром.

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

Есть вопросы - пишите мне на semikin@dionaholding.ru

Читаем дальше - Глава 3. Герой

Возвращаемся на Начало учебника.

 

Всего: 5

Электронные формы от Adobe

14 ноября с.г. компания представила новую версию всем известного средства Adobe Acrobat. 8-ая по счету версия принесла новые возможности по переходу от бумажных документов к электронным.
читать
 

АрмПарк - Универсальная учетная система

Серия материалов о программе - АрмПарк - Универсальная учетная система. Решение для тех кому необходимо быстро создать и внедрить электронную картотеку по учету - документов, матералов, оборудования, ресурсов или зеленых человечков.
читать
 

Программирование игр на основе плиток

Представляется перевод замечательного учебника по созданию движка игры на основе плиток (Tile Based Games). Я благодарен автору Tonypa за разрешение публикации перевода. Если у Вас возникают вопросы, пишите и я постараюсь Вам помочь.
читать
 

Универсальная информационная система-конструктор Учет документов (Доклад на конференции).

Доклад на Третьей практической конференции по Электронному Документообороту - "Программа "Учет документов" ", 9 декабря, Москва, Мэрия Москвы.
читать
 

Интеграция систем с использованием новых технологий

Один из ключевых моментов совершенствования электронного бизнеса - это повышение гибкости процессов за счет ускорения реализации решений в области интеграции.
читать
Всего: 5

Rambler's Top100

   
   

новости

продукты

решения

услуги

о компании

   
   
125315, Москва, Часовая ул., д.30
Телефон: (095)797-32-82; Факс: (095)797-32-81
© 2005 ООО "Диона Холдинг"
Администратор: admin@dionaholding.ru