Cocos2d 应用程序可在除 iPhone 4(任何操作系统)之外的所有设备上运行,CCBatchnode 在 addchild 后仅显示黑屏

Posted

技术标签:

【中文标题】Cocos2d 应用程序可在除 iPhone 4(任何操作系统)之外的所有设备上运行,CCBatchnode 在 addchild 后仅显示黑屏【英文标题】:Cocos2d app working on all device except iPhone 4 (any OS) with CCBatchnode just showing black screen after addchild 【发布时间】:2012-04-10 13:43:49 【问题描述】:

我已经为 iPhone 开发了一个名为 Linsanity Rush 的应用程序,并且我已经在 iPhone 模拟器(普​​通/视网膜)、iPad 模拟器、iPad2 ios 5.0.1、iPhone 4S 上进行了测试,一切正常。但是,部分 iPhone 4 用户抱怨点击开始游戏按钮后除了静音和暂停按钮外,游戏只显示黑屏。

Xcode 版本为 4.2.1 Mac 版本 10.7.2 Cocos2d 版本 cocos2d v2.0.0-beta

我已经在 iPhone 4 上的不同操作系统上对此进行了测试,并且都遇到了同样的问题。我检查了我的代码,发现我使用CCBatchnode 添加的图形都只显示黑屏。这解释了为什么用户只能看到静音和暂停按钮,因为这两个按钮不是 addChild 使用 CCBatchnode

关于这个问题的其他信息,我不确定是不是CCBatchNode 有问题,因为我在主菜单中也使用了CCBatchNode,iPhone 4 用户可以在主菜单上看到图像,只有当他们进入不同源文件的游戏并且我用游戏替换场景时才会出现问题。

但是,我在网上搜索了很长时间,但找不到任何与我类似的错误,这种错误只发生在 iPhone 4 上。我完全不知道是什么原因造成的,所以我不知道是哪一个部分源代码我应该在这里发布。

【问题讨论】:

CCBatchNode 只能使用一种纹理。您是否尝试将精灵从不同的纹理添加到批次中? @Matisse:这样做会断言并会在任何设备上导致问题。我不认为是这样。 【参考方案1】:

我已经找到了这个问题的答案。以前我只是用 Iphone 4S 和 iPad2 进行测试。当我使用 iPhone 4 和 3GS 进行测试时,我在 XCode 中收到消息显示:

cocos2d:警告:图像 (1024 x 4096) 大于支持的 2048 x 2048。

这是因为如果我想支持 iPhone 3GS 或 iPhone 4,我使用 Zwoptex 创建的图像不能大于(2048 x 2048)(我目前使用的是 4096 x 4096)。我通过创建多个 spritesheet 并将图像分成更小的列表来解决这个问题。

希望如果有人遇到同样的问题知道如何解决这个问题。

【讨论】:

以上是关于Cocos2d 应用程序可在除 iPhone 4(任何操作系统)之外的所有设备上运行,CCBatchnode 在 addchild 后仅显示黑屏的主要内容,如果未能解决你的问题,请参考以下文章

XCode 4.2 cocos2d iPhone 项目失败。 id: 找不到 -lz.1.2.3 的库

如何解决Cocos2d Android截图黑色问题

Cocos2d iphone 应用程序在实际 iphone 上运行异常

我的第一个 iPhone 的 Cocos2d 应用程序中的问题?

iPhone,Cocos2D - 在触摸屏时向左/向右移动精灵

Cocos2D iPhone 后台运行后应用程序不响应触摸