【问题标题】:after Cocos2d 2.0 migration, sprite placement is all wrongCocos2d 2.0 迁移后,精灵放置全错
【发布时间】:2012-08-17 22:49:31
【问题描述】:

我刚刚将我的项目更新到 Cocos2d v2.0,在消除了所有构建错误之后,我可以让它运行,但游戏似乎在错误的地方绘制了东西。按钮/菜单在它们应该在的地方是可点击的,但是精灵出现在错误的地方,或者根本没有。 (这个项目是我将旧文件从模板复制到新的 v2.0 项目中。)

我也遇到这样的 openGL 错误

OpenGL error 0x0502 in -[CCGLView swapBuffers] 280
OpenGL error 0x0502 in -[CCSprite draw] 532
OpenGL error 0x0502 in -[CCSprite draw] 532
OpenGL error 0x0502 in -[CCSprite draw] 532
OpenGL error 0x0502 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556

所以,我重新阅读了迁移帖子...删除了 RootViewController 等内容,然后从 v2.0 模板创建了一个新项目,并使我的 appDelegate 看起来像它。我仔细检查了我的 CCSprite -draw 方法,看起来就像它应该在 v2.0 中一样

没有变化。仍然 OpenGL 错误和我的大多数精灵都不合适。 (背景看起来不错,很奇怪。)

使用 5.1 或 6.0b4 IOS 模拟器时会发生这种情况

我很茫然.. :(

有人有什么想法吗?我已经用尽了我的搜索选项,只是很沮丧.. 提前谢谢!

(仅供参考,这是一个完整的 v1.0.1 游戏)

更新: 成功!!!所以,我有一个正在使用的第三方类(SWScrollView .h 和 CCNode+Autolayout.h) glPushMatrix() 和 glPopMatrix()

将这些更新为 kmGLPushMatrix() 和 kmGLPopMatrix() 修复了所有错误和精灵放置!!!

【问题讨论】:

  • 如果您解决了问题,请将答案作为“答案”发布,而不是将其编辑到原始问题中。这使您可以为您的答案获得支持,并帮助您进行网站的簿记。谢谢。

标签: templates cocos2d-iphone opengl-es-2.0


【解决方案1】:

Cocos2D 2.0 使用 OpenGLES2.0 而 cocos2D 1.0 使用 OpenGLES1.0。

这里是one similar thread,请按照我的回答。替换你的绘图功能。

【讨论】:

  • 我没有自定义的draw函数,我的Cocos2d文件中的那个和v2.0迁移指南里的一致。
  • 你得到了正确的解决方案....glPushMatrix n glPopMatrix 仅在 openGLES 1.0 中提供...快乐编码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多