NSString不画画?

时间:2012-08-17 16:16:24

标签: objective-c ios opengl-es nsstring eaglview

我正在尝试绘制NSString,但由于某种原因它不会呈现。

- (void)renderScene {
    // Make sure we are renderin to the frame buffer
    [EAGLContext setCurrentContext:context];

    glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer);

    // Clear the color buffer with the glClearColor which has been set      
    glClear(GL_COLOR_BUFFER_BIT);

    //Render the game Scene 
    if(gameState == 0){

        //MENU
        [menu renderAtPoint: CGPointMake(0, 0) centerOfImage: NO];

    } else if(gameState == 1){

        //GAMEPLAY

        [bk renderAtPoint: CGPointMake(0, 0) centerOfImage: NO];

        [self drawScore];

        [player draw];

        [squares render];

        [scoreString drawAtPoint: CGPointMake(262, 250) withFont:[UIFont fontWithName:@"TimesNewRoman" size: 1.0f]]; //RIGHT HERE IS THE DRAW STRING

    } else if(gameState ==2){

        //DEATH SCREEN

        [squared renderAtPoint: CGPointMake(0, 0) centerOfImage: NO];

    }

1 个答案:

答案 0 :(得分:0)

您正在尝试混合使用Core Graphics和OpenGL。解决此问题的一种简单方法是创建子窗口(UIView或UILabel),然后在子窗口中设置文本字符串。您也可以设置子视图的透明度。

还有其他方法(比如绘制到位图然后将其用作OpenGL纹理,或使用OpenGL将字体绘制为位图或轮廓),但它们更多的工作 - 取决于您的需求。