原因引擎的粒子系统,当使用粒子系统后,控制台给出警告:
OpenGL error 0×0500 in -[EAGLView swapBuffers]
就因为这个问题会造成在打包好的图片白块化,实出的机型:Android平台M9,iOS:iphone 4.3.3
2. 我在cocos2dx 1.x版本运行在iOS6中调用GameCenter相关函数,出现如下错误:
(备注:此问题不仅仅使用GameCenter,ios6中其它也会遇到)
1 |
Terminating |
解决方案如下:更多参考资料请看
在调用使用GameCenter的 View Controller(报错的 View Controller类)中添加如下三个函数即可:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight );
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape;
}
- (BOOL)shouldAutorotate
{
return YES;
}
cocos2dx 一般对于ios平台级别的组件进行使用时,都默认写在cocos2dx项目下的ios文件夹下的AppController.h/mm 中的。当然你也可以自己定义mm混编类。
3. 第三个问题就是关于cocos2dx 1.x 版本编译Android 一个造成闪退的原因。
对于这个问题出现的种类很多(但是你如果书写代码规范基本没有任何问题),这里我给个遇到验证过的问题吧。
我 在cocos2dx项目中Xcode书写代码有如下两个类,继承关系如下:
HClassA:public CCSprte
HClassB:public HClassA
如果你强制将HClassA类型强制转给HClassB对象会造成Android闪退的问题!!!!
虽然这种父类强转子类在Java中可以行得通,在iOS运行没有问题,但是!当编译到Android的时候就会出现100%闪退的现象。
关于NDK编译到Android后的调试打印CCLOG与CCLog问题这里简单说下:
之前很多童鞋问我,为什么使用CCLOG在Android不打印,咳咳、童鞋们可以点击进入CCLOG的定义,它在正式编译后自动取消不打入代码中的,而CCLog则不是,所以我们想在Android进行打印观察,那么请使用CCLog 。