Может ли сцена cocos2d занимать только часть экрана устройства?

Я работаю над экшн-игрой для iOS, в которой игрок путешествует между различными «комнатами», каждая из которых содержится в CCScene. Когда игрок выходит из комнаты, следующий «скользит» по экрану с помощью замечательных встроенных переходов, предоставляемых cocos2d.

Проблема в том, что очень важно, чтобы мои элементы управления пользовательским интерфейсом оставались на экране. Они живут в нижней части экрана, а игровая зона — вверху. Однако оказывается, что на самом деле не может быть никакого способа ограничить размер CCScene, чтобы он занимал только часть экрана.

Я надеялся, что смогу просто сказать cocos2d, чтобы узел CCScene занимал пространство меньше, чем весь экран:

CCScene* scene = [CCScene node];
scene.contentSize = CGSizeMake(200, 200);

Но пока ничего подобного не получалось. CCScene всегда занимает весь экран. Я даже согласен с этим, если мне нужно полностью переместить элементы управления пользовательским интерфейсом из cocos2d, чтобы заставить это работать, используя контроллеры представления, а что нет. Но сейчас мне любопытно, возможно ли то, что я пытаюсь сделать, в cocos2d.


person todd412    schedule 25.05.2011    source источник


Ответы (1)


Пожалуйста, взгляните на EAGLViewTest в каталоге тестов cocos2d. Целью этого тестового проекта является использование cocos2d только в указанной прямоугольной области. Это определяется EAGLView. И вы можете использовать для этого Interface Builder.

person Kazuki Sakamoto    schedule 25.05.2011
comment
Спасибо-надеюсь, это то, что мне нужно. К сожалению, похоже, что EAGLViewTest фактически не работает в текущем дистрибутиве cocos2d (1.0.0rc2). Он падает при вызове [CCConfiguration checkForGLExtension]. Если у вас есть рабочие образцы, которыми вы могли бы поделиться, это было бы здорово. Спасибо! - person todd412; 26.05.2011
comment
Я уже отправил запрос на включение :-) Исправлено EAGLViewTest Может вы пытаетесь добавить опцию -ObjC к OTHER_LDFLAGS цели EAGLViewTest? - person Kazuki Sakamoto; 26.05.2011
comment
Он был объединен. 'коммиты ветки разработки' - person Kazuki Sakamoto; 27.05.2011