【问题标题】:OpenGL error 0x0502 in -[CCSprite draw] 530OpenGL 错误 0x0502 在 -[CCSprite draw] 530
【发布时间】:2014-01-01 23:03:08
【问题描述】:

我正在使用 cocos2d 2.0。在一个场景中,我在 tableview 中加载数据时出现错误提示 日志窗口中的“OpenGL 错误 0x0502 in -[CCSprite draw] 530”。 应用运行良好

我搜索并意识到缺少一些着色器文件。我已经确保我的所有文件都在那里,并且编译源也是最新的。

但在链接上我得到了一些解决方案saying 好吧,我不知道要修改哪个绘图函数以及我的 cocos2d 文件有什么问题。 有没有办法解决这个问题?这会在将来让我的应用崩溃吗?

我的代码:

    -(id) init
    {

if( (self=[super init] )) {

    CGSize winSize = [CCDirector sharedDirector].winSize;
    tableView = [SWTableView viewWithDataSource:self size:winSize];

    tableView.direction = SWScrollViewDirectionVertical;
    tableView.position = ccp(0,0);
    tableView.delegate = self;
    tableView.verticalFillOrder = SWTableViewFillTopDown;
     [self addChild:tableView];
     }
     return self;
     }

    -(SWTableViewCell *)table:(SWTableView *)table cellAtIndex:(NSUInteger)idx {


     SWTableViewCell *cell = [table dequeueCell];
     if (!cell) {
     cell = [[MyCell new] autorelease];
     }

    CCMenuItemImage * listItemBtn =[CCMenuItemImage itemWithNormalImage:@"        listitem.png" selectedImage:@"listitem_sel.png" ];

     listItemBtn.position=ccp(270, 20);
     [cell addChild:listItemBtn];

     return cell;

     }

【问题讨论】:

    标签: ios xcode cocos2d-iphone


    【解决方案1】:

    Cocos2d 2.0 使用 OpenGLES2.0,所以在 cocos2d 2.0 中不要使用 OpenGL immediate mode api。

    示例:GLBegin()、GLLineWidth()、glDrawArrays() 等

    【讨论】:

    • 您好,感谢您的回答。实际上我对 cocos2d 真的很陌生,我不知道如何解决这个问题。你能建议我一些例子或一些帖子,他们已经解释了即时模式的替代方案。
    • 首先找出哪个openGL api给出了这个日志。调试你的代码..然后你可以找到替代方案......不知道 API ..你怎么能找到解决方案!
    • 好的,基本上我正在使用另一个 api 在 cocos2d.link 中显示表格视图,这是我的 cocos2d api link。返回表格视图单元格时会发生错误。我现在已经添加了我的代码。错误发生在 CellAtIndex 函数中返回单元格之后,直到那时没有错误。此外,当我调试时,每个单独的单元格都没有错误,但是在场景可见后它们都一起出现。当我滚动时一次又一次地出现。
    • cocos2d游戏我没用tabelview。。。等几天吧,高手可能会给你正确的答案。
    • 好吧,同时我也在寻找解决方案。
    猜你喜欢
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多