Читаем Создание игр для мобильных телефонов полностью

Рисунок показывает, как спрайт и слой видны в окне менеджера слоев. Более того, размер окна менеджера меньше размера экрана, важная игровая информация показывается в верхней части экрана.

Работа с классом LayerManager

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

Для управления слоями используется сравнительно небольшой набор методов класса LayerManager:

append()  – добавить слой в нижнюю часть множества управляемых менеджером слоев;

insert()  – вставить слой в определенное место во множестве;

remove()  – удалить слой с определенным индексом;

getSize()  – возвращает число управляемых слоев;

getLayerAt()  – получить слой с определенным индексом;

paint()  – вывести все слои;

setViewWindow()  – установить положение, ширину и высоту окна вида.

Эти методы применимы к каждому слою менеджера, которому присвоен уникальный индекс. Индекс слоя определяет его глубину по отношению к экрану. Индекс 0 имеет слой, самый близкий к экрану, с увеличением глубины индекс растет. Иначе говоря, самый верхний слой имеет индекс 0, а самый нижний слой – самый большой индекс. Менеджер автоматически нумерует слои по мере добавления новых, поэтому в большинстве случаев нет необходимости самостоятельно определять индексы слоев.

Хотя перечисленные выше методы класса LayerManager полезны, вы можете сделать многое, используя лишь их часть. Но перед вызовом любого из методов, необходимо создать объект класса LayerManager:

LayerManager layers = new LayerManager();

После того как объект LayerManager создан, в него необходимо добавить или вставить слои. Добавление слоя – несколько проще, поскольку вам не нужно определять индексы, но возникает необходимость добавлять слои в определенном порядке. Если вы вспомните описание метода append(), то слои добавляются в нижнюю часть множества. Это означает, что верхние слои вы должны добавлять в первую очередь. Ниже приведен пример того, как можно добавить несколько спрайтов и фоновый слой во вновь созданный менеджер:

layers.append(sprite1);

layers.append(sprite2);

layers.append(backgroundLayer);

В результате выполнения этого слоя фоновый слой окажется позади двух спрайтов. Более того, объект sprite1 будет находиться над объектом sprite2, поскольку он был добавлен первым. Последний шаг в создании менеджера слоев – это определение окна вида. Ниже приведен код, создающий такое окно в верхнем левом углу экрана и размером с экран:

layers.setViewWindow(0, 0, getWidth(), getHeight());

Перейти на страницу:

Похожие книги

1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных
Язык программирования C++. Пятое издание
Язык программирования C++. Пятое издание

Лучшее руководство по программированию и справочник по языку, полностью пересмотренное и обновленное под стандарт С++11!Р'С‹ держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под стандарт С++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. Р' соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать РёС… наилучшие СЃРїРѕСЃРѕР±С‹ применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.Стенли Р'. Липпман работал старшим консультантом в Jet Propulsion Laboratory, архитектором РіСЂСѓРїРїС‹ Visual С++ корпорации Microsoft, техническим сотрудником Bell Laboratories и главным инженером- программистом по анимации в кинокомпаниях Disney, DreamWorks, Pixar и PDI.Р–РѕР·и Лажойе, работающий ныне в кинокомпании Pixar, был членом канадской РіСЂСѓРїРїС‹ разработчиков компилятора C/C++ корпорации IBM, а также возглавлял рабочую группу базового языка С++ в составе международной организации по стандартизации ANSI/ISO.Барбара Э. Му имеет почти тридцатилетний опыт программирования. На протяжении пятнадцати лет она работала в компании AT&T, сотрудничая с Бьярне Страуструпом, автором языка С++, и несколько лет руководила РіСЂСѓРїРїРѕР№ разработчиков С++.• Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования• Р

Барбара Э. Му , Жози Лажойе , Стенли Б. Липпман

Программирование, программы, базы данных