AS3 - игра - концептуальная рекомендация - PullRequest
1 голос
/ 24 ноября 2011

Хорошо, я создаю космическую игру.Изображение на сцене 500 на 500, однако фактическая карта намного больше, то есть 4000 на 4000. перемещая свой космический корабль (который находится в центре), вы перемещаетесь по карте (4000 на 4000 пикселей).

Яиспользуя flash IDE и flash development.

что является лучшим способом для достижения этой цели.Учебные ссылки приветствуются.

спасибо, Дэниел

Ответы [ 2 ]

3 голосов
/ 24 ноября 2011
  1. Добавьте игровой контент (включая игрока) в контейнер.
  2. Расположите контейнер по следующей формуле:

    x = -player.x + stage.stageWidth / 2;y = -player.y + stage.stageHeight / 2;

Вы заметите, что игрок всегда центрирован на экране, независимо от позиции игрока.

Обзор:

Предположим,Ваш игрок находится на позиции: x:120 y:100.Вышеуказанное переместит контейнер для позиционирования в соответствии с этими шагами:

  1. Контейнер перемещается в отрицательный x:120 и отрицательный y:100.Это приводит к тому, что игрок появляется в верхнем левом углу сцены.
  2. Затем контейнер смещается на половину ширины сцены и на половину высоты сцены вниз, помещая игрока в центр экрана.

Я сделал быстрый пример, который можно найти здесь: http://junk.projectavian.com/env.zip

1 голос
/ 24 ноября 2011

В этом случае я бы использовал технику блитинга для оптимизации такого большого растрового рендеринга. Взгляните на этот учебник: Учебник по быстрой прокрутке фотографий для iPad . Он показывает, сколько вы можете получить, используя метод copyPixels () вместо зависимости от списка отображения. Идея похожа на то, что сказал @Marty, но использует более быстрый метод рендеринга.

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