#ios #cocos2d-iphone #scene #scenegraph
#iOS #cocos2d-iphone #сцена #график сцены
Вопрос:
Я работаю над экшеном для iOS, в котором игрок перемещается между различными «комнатами», каждая из которых содержится в CCScene. Когда игрок выходит из комнаты, следующая сцена «проскальзывает» на экран с помощью замечательных встроенных переходов, предоставляемых cocos2d.
Проблема в том, что крайне важно, чтобы элементы управления моего пользовательского интерфейса оставались на экране. Они находятся в нижней части экрана, в то время как игровая область находится вверху. Однако, похоже, что на самом деле не существует способа ограничить размер CCScene так, чтобы он занимал только часть экрана.
Я надеялся, что смогу просто сказать cocos2d, чтобы узел CCScene занимал пространство, меньшее, чем полный экран:
CCScene* scene = [CCScene node];
scene.contentSize = CGSizeMake(200, 200);
Но пока ничего подобного не сработало. CCScene всегда занимает весь экран. Я даже не против, если мне придется полностью переместить элементы управления пользовательского интерфейса из cocos2d, чтобы заставить это работать, используя контроллеры просмотра, а что нет. Но прямо сейчас мне любопытно, возможно ли то, что я пытаюсь сделать, вообще в cocos2d.
Ответ №1:
Пожалуйста, взгляните на EAGLViewTest в каталоге cocos2d tests. Целью этого тестового проекта является использование cocos2d только в указанной прямоугольной области. Это задается EAGLView. И вы можете использовать Interface Builder для этого.
Комментарии:
1. Спасибо — надеюсь, это то, что мне нужно. К сожалению, похоже, что EAGLViewTest на самом деле не работает в текущем выпуске cocos2d (1.0.0rc2) Происходит сбой при вызове [CCConfiguration checkForGLExtension]. Если у вас есть какие-либо рабочие образцы, которыми вы могли бы поделиться, это было бы здорово. Спасибо!
2. Я уже отправил запрос на извлечение для этого 🙂 » Исправлен EAGLViewTest » Не могли бы вы попробовать добавить опцию ObjC к OTHER_LDFLAGS цели EAGLViewTest?
3. Она была объединена. ‘ разработка коммитов ветки ‘