Spritebuilder и CCScrollView, индикаторы страницы не отображаются?

Я использую Spritebuilder для создания своей игры, и CCScrollView обычно экономит мне немного времени. Я пытаюсь реализовать представление прокрутки так же, как домашний экран на iphone использует UIScrollView. Я хочу, чтобы индикаторы страницы были видны и менялись при прокрутке страниц (маленькие белые точки для iOS 7).

В Spritebuilder я настроил CCScrollView как дочерний элемент CCNode. Затем я устанавливаю узел содержимого на другой из моих файлов ccbi, EasyPackpage1, Когда я запускаю свой проект, все работает довольно хорошо. В настоящее время у меня есть достаточно большой узел содержимого, чтобы на нем было три разных страницы, поэтому, если я прокручиваю вправо, он фиксируется на следующей странице, снова прокручивается вправо, он фиксируется на следующей странице. Единственная проблема в том, что индикаторы страницы отсутствуют. Как я могу получить эти показатели страницы?

Если кто-то знает решение для этого, используя чисто код, это также будет высоко ценится. Cocos2d v3 до сих пор имеет очень мало документации, и я не смог найти много о том, как использовать CCScrollView, так как похоже, что CCScrollLayer устарела в v3.

введите описание изображения здесь

Спасибо за помощь!

1 ответ

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

- (void)scrollViewDidEndDecelerating:(CCScrollView *)scrollView {
    NSInteger page = scrollView.scrollPosition.x / 320;
    for (int i = 0; i < self.dotArray.count; i++) {
        if (i == page) {
            [[self.dotArray objectAtIndex:i] setSpriteFrame:[CCSpriteFrame frameWithImageNamed:@"ccbResources/nav-dot-active.png"]];
        } else {
            [[self.dotArray objectAtIndex:i] setSpriteFrame:[CCSpriteFrame frameWithImageNamed:@"ccbResources/nav-dot.png"]];
        }
    }
}

Убедитесь, что ваша сцена установлена ​​как CCScrollViewDelegate и установлена:

self.scrollView.delegate = self;

Используемый мной self.dotArray только что инициализирован в didLoadFromCCB со всеми изображениями, которые я добавил в spriteBuilder.

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