Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Создание карты в виде сетки из тайлов (http://www.flasher.ru/forum/showthread.php?t=171602)

australian incognito 19.11.2011 21:50

Создание карты в виде сетки из тайлов
 
Доброго вечера, уважаемые.
Я только начал копаться в AS3 и решил для поднятия скилла написать простенькую игру. Сейчас основная задача - это создание внешнего мира игры в виде карт из тайлов (фактически это будут статичные арены небольшого размера). Сама сетка планируется примитивная - как тетрадь в клеточку.
Интересуют следующие вопросы:
1. Сам тайл проще делать мувиком с кадрами в виде вариаций этого тайла или же просто набор мувиков? (наверное, это абсолютно не принципиально, но все же)
2. Карта нужна будет для игры и нужны будут разные ее модификации (т.е. просто будут разные уровни - соответственно разные карты) - поэтому как удобнее хранить информацию о карте? (внешний xml или просто какой-то массив внутри кода)
3. Хотелось бы примерчик примитивной генерации карты (m x n тайлов), чтобы можно было иметь легкий доступ к информации по каждому из тайлов (его позиция (х, у), проходимость (да-нет) - может еще какой параметр, который мне не пришел в голову, но был бы полезен)

Заранее спасибо

Ookami 19.11.2011 22:00

1. Создайте класс Tile, расширяющий Sprite или MovieClip (как по мне, то лучше спрайт). Сделайте этому классу параметры, описывающие характеристики того или иного тайла (например штрафы/бонусы передвижения по этому тайлу, ну и прочее).
2. Карту храните в двумерном массиве или векторе типа Tile (во втором случае немного сложнее из-за преобразования одномерного массива в двумерный). Вопрос о том где хранить карту - все зависит от конкретной ситуации и от размера карты. Можно в коде хранить массив, можно внешним файлом, можно на сервере в БД.
3. Даже не придумаю сходу, мало начальных данных =) Самый примитивный вариант - перебор элементов массива в 2 циклах (или 1 если вектор а не двумерный массив). Ну и в зависимости от текущего тайла предпринимать те или иные действия.

З.Ы. есть вроде готовые бесплатные движки для таких игр, можно погуглить - может будет проще чем писать свое.

australian incognito 19.11.2011 22:19

Спасибо, кое-какие моменты прояснились - однако вопросы еще остаются.
Попробую чуть подробнее описать задумку, чтобы ваши советы лучше раскрывали суть:
1. Каждый уровень - это некое подобие арены (допустим 800х600 пикс), составленной из кубиков (допустим 50х50 пикс) - т.е. это фактически ободок из непроходимых кубиков и внутренность в виде полностью проходимых кубиков (может будут внутри непроходимые кубики-камни или замедляющие - ускоряющие кубики - не суть важно).
2. Главный герой (ГГ) должен быть заключен в рамки этой арены, что логично, если она окружена непроходимыми тайлами
3. Опять же важный вопрос - арена может быть не только прямоугольной, но и допустим ближе к овальной или прямоугольник со скругленными углами (как в этом случае отслеживать непроходимость тайлов - вообще загадка)

Добавлено через 1 минуту
Движки осваивать не хочу - так как есть желание чуть лучше разобраться непосредственно в принципах AS3

Ookami 19.11.2011 22:44

Извините, я не понимаю сути вопроса. Что требуется?
При попытке передвижения ГГ делайте проверку - если тайл непроходимый то движение не доступно.
Для арены сложной формы - тайлы, которые не должны быть видны, можно не выводить на экран, таким образом получите требуемую форму арены.


Часовой пояс GMT +4, время: 21:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.