如何在cocos2d-iphone中有效地绘制多个原语?

时间:2012-05-01 10:26:48

标签: opengl-es cocos2d-iphone

我正在玩cocos2d-iphone,它看起来很棒!

但我希望每次更新在屏幕上绘制另一个圆圈,这会非常快地降低帧速率! 我可以用更快的方式绘制多个基元吗?

这是我目前的代码

-(void) draw
{
    glLineWidth(1);
    glColor4ub(100,100,255,0);
    float angle = 0;
    float radius = 10.0f;
    int numSegments = 10;
    bool drawLineToCenter = NO;

    NSInteger point;
    for (point=0;point < [points count];point++)
    {
        ccDrawCircle([[points objectAtIndex:point] CGPointValue], radius, angle, numSegments, drawLineToCenter);

    }
}

1 个答案:

答案 0 :(得分:1)

使用精灵而不是基元。然后您可以使用CCSpriteBatchNode。

cocos2d的原始绘制方法主要用于调试目的,而不是构成你的游戏艺术。它们主要不是批处理操作,这意味着您绘制的每个新原语都将发出绘制调用。那很贵。