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

   
Новости  
   

Глава 2. Создаем плитки

Как было сказано в Главе 1 «Формат карты», мы будем хранить данные карты в двумерном массиве. Зададим плитки, которые будут показываться на экране в требуемой позиции и покажем их соответствующим кадром клипа. Карта игры будет выглядеть так:

(О взгляде на игровое пространство.

В данном случае, проекция нормальная - взгляд сверху. Ось Х - по горизонтали, увеличение координаты - ВПРАВО. Ось У - по вертикали, увеличение координаты - ВНИЗ.

Такая проекция позволяет строить движок игры для перемещения Героя по пространству игры (координаты Х и У) в пределах карты. Прыжки Героя, лестницы, и все остальное, что связано с высотой, НЕ ИМЕЕТ смыла, т.к. все одно не видать. Например, прыжок вверх - это как? Нужно показывать в изометри. Если есть изометрия, тогда появляется высота, и возможно построение более веселого функционала движка и вида игры.)

Первыми объявим некоторые объекты и переменные:

// Массив описания карты
myMap = [ [1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 0, 1], [1, 0, 1, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 1, 0, 1], [1, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1] ];

// Размер плитки 30 х 30 пикселей
game={tileW:30, tileH:30};

// Объект плитка - тип 0
game.Tile0= function () {};
// Задаем свойства плитки типа 0
game.Tile0.prototype.walkable=true; // проходная
game.Tile0.prototype.frame=1; // кадр 1

// Объект плитка - тип 1
game.Tile1= function () {};
// Задаем свойства плитки типа 1
game.Tile1.prototype.walkable=false; // не проходная (стенка)
game.Tile1.prototype.frame=2; // кадр 2

Итак, описание нашей карты хранится в переменной myMap . Следующая строка после описания массива карты содержит объявление объекта "game" . Мы будем использовать этот объект, чтобы хранить там все, что нам нужно, все будет сохраняться на уровне _root или другом, но нам всегда будет известно его местонахождение.

Примечание. Дадим объекту game два свойства tileW=30 и tileH=30. Это – ширина и высота плитки. Не обязательно, чтобы плитка была квадратом, можно использовать и прямоугольник. (Главное, чтобы они были одинакового размера, как двое из ларца - одинаковы с лица.) Когда мы захотим узнать ширину или высоту плитки, мы можем просто написать:

game.tileW;
game.tileH;

А, когда мы захотим изменить размер плиток, мы должны указать только размер в одной из строк.

Следующая строка изменяет свойства прототипа нашего объекта game :

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

Здесь, первая строка game.Tile0= function () {} объявляет новый прототип объекта. Когда мы указываем 0 в массиве карты, мы тем самым говорим, что будем использовать плитку тип 0 – объект Tile0, как шаблон для создания экземпляров объекта плитки в этой позиции.

Следующая строка, говорит, что у протипа объекта Tile0 будут некоторые свойства. У каждого объекта будет свойство walkable и frame. Их значения описаны ранее.

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

Читаем дальше Главу 2 - Создаем и показываем карту.

 

Всего: 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