Создание прокрутки

Вот моя текущая ситуация: я создал CCScene с именем StoreScene. В этой сцене я инициализировал CCLayer и назвал его "Store store".

Теперь я хочу прокручиваемый слой, содержащий контент, к которому пользователь может прикоснуться. Для этого я создал еще один CCLayer с именем Store Container. Я создаю экземпляр этого слоя и добавляю его как дочерний элемент в StoreScene.

В StoreContainer я добавил несколько спрайтов, каждый из которых имеет уникальный тег. Прокрутка выполняется внутри StoreScene, и касания перемещают весь слой Storecontainer вверх или вниз.

Я добавил 4 спрайта к своему слою прокрутки (хранилище). Первоначально спрайт 1 расположен в 0,10 спрайт 2 расположен в 0,20 спрайт 3 расположен в 0,30 спрайт 4 расположен в 0,40

Очевидно, что по мере сдвига всего слоя контейнера-контейнера позиции спрайтов также меняются. Однако, когда я делаю это в методе TouchesEnded: if (CGRectContainsPoint(sprite1.boundingBox, touchpoint)){ NSLog(@"TouchedSprite1"); } ... и так далее для каждого спрайта

Места касания каждого спрайта остаются на одном месте!!! Визуально спрайты красиво двигаются вверх и вниз. но их местоположение при получении прикосновений остается постоянным.. есть ли причина для этого? Есть ли другой способ приблизиться к слою прокрутки? Я уже посмотрел на прокрутку UIKit и посмотрел на CCScrollLayer, и оба не достаточно хороши для меня. Мой путь может быть проще, но он не работает, как планировалось. Заранее спасибо! ^_^

2 ответа

Решение

Я предполагаю, что вы реализовали touchesEnded в вашем StoreContainer, В этом случае координаты касаний будут относиться к этому слою, что объясняет, почему их система координат следует за слоем вокруг экрана. Вы могли бы реализовать touchesEnded вместо этого в сцене или StoreContainer экземпляр внутри нового и неподвижного слоя, целью которого является только обработка прикосновений.

В качестве альтернативы вы можете сохранить текущие настройки и использовать свой ответ на этот вопрос, чтобы получить координаты касания в мире...:)

Проверьте CCKit, есть хорошая реализация CCScrollLayer.

Другие вопросы по тегам