Anthill Game Framework

Tiny framework for creating Flash games.

Инструменты пользователя

Инструменты сайта


anthill:anttilemap

Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

anthill:anttilemap [30.04.2013 13:57]
127.0.0.1 внешнее изменение
anthill:anttilemap [11.05.2013 00:48] (текущий)
Илья Уткин
Строка 1: Строка 1:
 ====== AntTileMap ====== ====== AntTileMap ======
  
-Работа с тайловыми картами создает порой много лишних хлопот,​ особенно явно это чувствуется когда уровень необходимо построить из тайлов таким образом чтобы игрок не подозревал о их существовании вообще. Данный класс создан для того чтобы максимально упростить работу с тайловыми картами ​и в первую очередь он был заточен на то, чтобы создавать уровни любых размеров из одного и более клипов. Работа разработчика заключается в том, чтобы нарисовать красивый уровень и отдать его на растерзание данному классу,​ а он уже позаботится о его растерезации и нарезании на тайлы.+Работа с тайловыми картами создает порой много лишних хлопот,​ особенно явно это чувствуетсякогда уровень необходимо построить из тайлов таким образомчтобы игрок не подозревал о их существовании вообще. Данный класс создан для тогочтобы максимально упростить работу с тайловыми картами. В первую очередь он был заточен на то, чтобы создавать уровни любых размеров из одного и более клипов. Работа разработчика заключается в том, чтобы нарисовать красивый уровень и отдать его на растерзание данному классу,​ а он уже позаботится о его растеризации и нарезании на тайлы.
  
 Работа с данным классом происходит очень просто:​ Работа с данным классом происходит очень просто:​
Строка 12: Строка 12:
 // Устанавливаем размер тайла по ширине и высоте // Устанавливаем размер тайла по ширине и высоте
 tileMap.setTileSize(128,​ 128); tileMap.setTileSize(128,​ 128);
-// Указываем клип из которого необходимо создать тайловую карту+// Указываем клипиз которого необходимо создать тайловую карту
 tileMap.addClip(MyGreatLevel_mc);​ tileMap.addClip(MyGreatLevel_mc);​
 // Запускаем процесс кэширования (растеризацию и нарезание указанного клипа на тайлы) // Запускаем процесс кэширования (растеризацию и нарезание указанного клипа на тайлы)
Строка 35: Строка 35:
 </​code>​ </​code>​
  
-Если есть необходимость создавать большие уровни — это тоже можно легко сделать,​ просто разделите ваш уровень на несколько клипов,​ например ''​MyGreatLevelPart1_mc''​ и ''​MyGreatLevelPart2_mc''​ и добавьте их в очередь таким образом:​+Если есть необходимость создавать большие уровни — это тоже можно легко сделать, ​— просто разделите ваш уровень на несколько клипов,​ например ''​MyGreatLevelPart1_mc''​ и ''​MyGreatLevelPart2_mc''​ и добавьте их в очередь таким образом:​
  
 <​code>​tileMap.setMapSize(200,​ 20); <​code>​tileMap.setMapSize(200,​ 20);
Строка 42: Строка 42:
 tileMap.cacheClips();</​code>​ tileMap.cacheClips();</​code>​
  
-Здесь дополнительно мы указываем область в клетках в которую будет записан данный клип. Как можно видеть из примера,​ первый клип будет растеризирован в тайлы с (0,0) по (100,20), а второй c (100,0) по (200,20) — то есть в итоге получается что одну большую тайловую карту мы построили из двух клипов.+Здесь дополнительно мы указываем область в клетках в которую будет записан данный клип. Как можно видеть из примера,​ первый клип будет растеризирован в тайлы с (0,0) по (100,20), а второй c (100,0) по (200,20) — то есть в итоге получаетсячто одну большую тайловую карту мы построили из двух клипов.
  
-Если хочется создавать классические тайловые карты где заранее нарисован тайл сет и необходимо только ​для каждого тайла ​задать свою разновидность — это тоже можно легко сделать. Для этого сделайте из своего тайлсета обычный MovieClip как обычную анимацию разместив на каждом кадре клипа по одной разновидности тайла и добавьте его в глобальный кэш анимаций,​ а от туда уже добавьте его в тайловую карту:+Если хочется создавать классические тайловые картыгде заранее нарисован тайлсети необходимо только задать свою разновидность ​для каждого тайла ​— это тоже можно легко сделать. Для этого сделайте из своего тайлсета обычный MovieClipкак обычную анимациюразместив на каждом кадре клипа по одной разновидности тайла и добавьте его в глобальный кэш анимаций,​ а от туда уже добавьте его в тайловую карту:
  
 <​code>​ <​code>​
Строка 58: Строка 58:
 </​code>​ </​code>​
  
-Первой сторокой добавили набор тайлов в очередь на растеризацию в общий кэш и растеризировали их, потом где-нибудь мы создали карту размером (10,10) клеток запустили инициализацию тайлов чтобы тайлы были созданы и добавили растеризированный ранее тайловый сет в тайловую карту. Теперь можно переключать тайлам разновидность так:+Первой строкой добавили набор тайлов в очередь на растеризацию в общий кэш и растеризировали их, потом где-нибудь мы создали карту размером (10,10) клетокзапустили инициализацию тайловчтобы тайлы были созданыи добавили растеризированный ранее тайловый сет в тайловую карту. Теперь можно переключать тайлам разновидность так:
  
 <​code>​ <​code>​
Строка 64: Строка 64:
 </​code>​ </​code>​
  
-Где ''​tilePosX''​ и ''​tilePosY''​ — это координаты нужного вам тайла в тайловой карте, а ''​tileFrame''​ — это тот кадр который должен отображать данный тайл из тайлового сета.+Где ''​tilePosX''​ и ''​tilePosY''​ — это координаты нужного вам тайла в тайловой карте, а ''​tileFrame''​ — это тот кадркоторый должен отображать данный тайл из тайлового сета.
  
-Это основные задачи и возможности которые выполняет класс **AntTileMap**,​ но так же не могу не отметить тот факт, что тайлы — это обычные [[anthill:​antactor|AntActor]],​ а тайловая карта унаследована от [[anthill:​antentity|AntEntity]],​ что в итоге дает возможность работать с картой как с обычной группой актеров.+Это основные задачи и возможностикоторые выполняет класс **AntTileMap**,​ но так же не могу не отметить тот факт, что тайлы — это обычные [[anthill:​antactor|AntActor]],​ а тайловая карта унаследована от [[anthill:​antentity|AntEntity]],​ что в итоге дает возможность работать с картойкак с обычной группой актеров.
  
 //​**Примечание:​** Данная статья не затрагивает всех тонкостей работы с тайловыми картами. И позже будет дополнена.//​ //​**Примечание:​** Данная статья не затрагивает всех тонкостей работы с тайловыми картами. И позже будет дополнена.//​
anthill/anttilemap.txt · Последние изменения: 11.05.2013 00:48 — Илья Уткин