Cocos2d DrawPoints

时间:2013-09-26 13:12:24

标签: ios opengl-es cocos2d-iphone

我是OpenGLES的新手,并且想要绘制一个点,但没有结果,这是我的绘制方法

-(void) draw
{
    [super draw];
    if(!isBackgroundInited)
    {
         glDisable(GL_TEXTURE_2D);
        glEnable(GL_POINTS);
        ccDrawColor4B(100,100,100,255);
        ccPointSize(2);
        [self drawDots];
        isBackgroundInited=YES;
        glDisable(GL_POINTS);
         glEnable(GL_TEXTURE_2D);
    }

}

-(void) drawDots
{

    CGSize activeArea=CGSizeMake(winSize.width-2*margin, winSize.height-2*margin);
    float xMargin=activeArea.width/dotsCount;
    float yMargin=activeArea.height/dotsCount;
    float yPosition=margin;
    for(int i =0;i<10;i++)
    {
        float xPosition=margin;
        for (int j=0;j<10;j++)
        {
            ccDrawPoint(CGPointMake(xPosition, yPosition));
            xPosition+=xMargin;
        }
        yPosition+=yMargin;
    }
}

1 个答案:

答案 0 :(得分:0)

您只在第一帧上画点。移除isBackgroundInited ivar,屏幕上会出现一些内容。

OpenGL每帧都会清除帧缓冲区,这是游戏的惯例,因此每帧都需要重绘整个屏幕内容。