Добавление CCLabel поверх openGLView - cocos2d iphone - PullRequest
1 голос
/ 22 июля 2011

Итак, в CCLayer я добавляю ImagePicker / Camera к openGLView, а затем UIButton - все хорошо, но теперь я хочу добавить CCLabel (и в будущих CCSprites) поверх этих элементов.

    uip = [[UIImagePickerController alloc] init];
    uip.sourceType = UIImagePickerControllerSourceTypeCamera;
    uip.showsCameraControls = NO;
    uip.toolbarHidden = YES;
    uip.navigationBarHidden = YES;
    uip.wantsFullScreenLayout = YES;
    uip.cameraViewTransform = CGAffineTransformScale(uip.cameraViewTransform, CAMERA_TRANSFORM, CAMERA_TRANSFORM);

    [[[CCDirector sharedDirector] openGLView] addSubview:uip.view];

    arrowButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [arrowButton addTarget:self 
               action:@selector(arrowButtonClicked:)
     forControlEvents:UIControlEventTouchUpInside];

    UIImage *imgNormal = [UIImage imageNamed:@"btn_next_norm.png"];
    [arrowButton setImage:imgNormal forState:UIControlStateNormal];

    UIImage *imgPressed = [UIImage imageNamed:@"btn_next_pressed.png"];
    [arrowButton setImage:imgPressed forState:UIControlStateHighlighted];

    arrowButton.frame = CGRectMake(screenSize.width - 48.0, screenSize.height - 37.0, 48.0, 37.0);

    [[[CCDirector sharedDirector] openGLView] addSubview:arrowButton];

    CCLabelTTF* label = [CCLabelTTF labelWithString:@"Experience 1" fontName:@"Arial" fontSize:32];
    label.color = ccc3(0, 0, 0);
    CGSize size = [[CCDirector sharedDirector] winSize];
    label.position = CGPointMake(size.width / 2, size.height / 2);
   // [[[CCDirector sharedDirector] openGLView] addSubview:labe]; cant add to openGLView

1 Ответ

1 голос
/ 23 июля 2011

Вам необходимо добавить компоненты Subview UIView в openGLView следующим образом:

[[[CCDirector sharedDirector] openGLView].superview addSubview:arrowButton];

И тогда openGLView должен быть прозрачным. " Отображение EAGLView с прозрачным фоном в UIImageView "

EDIT:

перемещение Cocos поверх UIImagePickerController

Хорошо, а как насчет следующего? addSubview представление cocos2d (openGLView) на cameraOverlayView UIImagePickerController.

[[[CCDirector sharedDirector] openGLView].superview addSubview:uip.view];
[[[[CCDirector sharedDirector] openGLView] removeFromSuperview];
uip.cameraOverlayView = [[CCDirector sharedDirector] openGLView];

Также вам нужно Сделать Cocos2d прозрачным .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...