Если необходимо переместить окно вида, то просто вызовите метод setViewWindow() снова, изменив два первых параметра. Вот и все, что необходимо для перемещения окна.
Анимация и замощенные слои
Я еще не рассказал вам о приеме, с помощью которого можно создавать анимацию слоев внутри замощенного слоя. Это делается так: в карте слоя вы задаете слои с отрицательными индексами -1, -2 и т. д. Эти индексы представляют особые анимационные слои, которые можно использовать в любой момент игры.
Например, вы хотите «оживить» воду в примере Wanderer, чтобы карта мира выглядела более реалистично. Некоторые из слоев карты вы можете обозначить индексом -1, а не 1 (1 – это индекс изображения воды). Затем в методе update() мидлета необходимо добавить код, обрабатывающий все слои с индексом -1. Я имею в виду, что этот код должен менять изображения, чтобы создавать иллюзию движения. Для этого вы можете использовать любые слои из множества замощенного слоя. Чтобы создать иллюзию движения воды, достаточно добавить еще несколько «водных» изображений в набор.
Анимация в замощенных слоях поддерживается двумя методами класса TiledLayer():
► createAnimatedTile()
– создание анимации в замощенном слое;► setAnimatedTile()
– установление статического изображения для определенного элемента слоя.Чтобы понять принцип работы, нужно объяснить значение некоторых терминов. Статическим элементом будем называть элемент слоя, имеющий индекс 1 или более. Индекс 0 означает пустой элемент замощенного слоя. Анимационным элементом будем называть элемент слоя, который может отображать последовательность статических изображений, и имеет индекс -1 и меньше. Итак, анимационный элемент слоя имеет отрицательный индекс, однако в любой момент времени этот элемент представляет собой статическое изображение – часть анимации.
Чтобы собрать все воедино, посмотрите на следующий код карты слоя:1, 1, -1, 1,
–1, -1, 1, 1,
1, -1, 1, -1,
–1, 1, -1, -1Перед тем как интерпретировать эту карту, важно отметить, что в ней четыре статических элемента, отображающих различные изображения воды. Если эти изображения показывать в определенном порядке, то создается иллюзия движения воды. Эти элементы имеют индексы 1, 2, 3 и 4. Элементы слоя с индексом 1 – это обычные элементы, с которыми вы работали прежде. Элементы с индексом -1 – это анимационные элементы, они отображают последовательность статических элементов с индексами 1, 2, 3, 4. Эта последовательность не отражена в карте, чуть позже вы узнаете, как она применяется к анимационным слоям. Если говорить на языке кода, сначала вы создаете анимационный слой, а потом карту замощенного слоя. Ниже приведен код, создающий анимационный слой для примера с водой:
waterLayer.createAnimatedTile(1);