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

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

Работа с классом 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.

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

Финансы / Программирование, программы, базы данных
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

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