zoukankan      html  css  js  c++  java
  • iphone4s中cocos2d出现闪屏,花屏的解决方案

    iphone4s中cocos2d出现闪屏,花屏的解决方案

    iphone4s中运行复杂的动作,或者ccsprite运动出屏幕的时候会出现花屏的情况,在iphone4中正常。

    // 解决方法 A:关闭深度检测

    CCDirector::sharedDirector()->setDepthTest(false);

    或者

    // 解决方法B:使用2D投射

    CCDirector::sharedDirector()->setProjection(kCCDirectorProjection2D);

    选任意一个都行。修改之后,请重新测试一下你的整个游戏。setDepthTest 可能会影响到一些效果,转换以及瓦片地图z轴上的行为。





    游戏中,点击home键按钮回到主界面,当再回到游戏时,游戏重新启动,后面f发现当点击home键时游戏crash掉。

    原因是cocos2d开发时候没有测试iphone4s多线程的情况,

    解决方案如下

    修改delegate的函数

    1. - (void)applicationWillResignActive:(UIApplication *)application {  
    2.         [[CCDirector sharedDirector] stopAnimation];  
    3.     [[CCDirector sharedDirector] pause];  
    4. }  
    5.   
    6. - (void)applicationDidBecomeActive:(UIApplication *)application {  
    7.         [[CCDirector sharedDirector] stopAnimation];   
    8.     [[CCDirector sharedDirector] resume];  
    9.     [[CCDirector sharedDirector] startAnimation];  
    10. }  
    并增加两个函数

    1. - (void)applicationWillEnterForeground:(UIApplication *)application  
    2. {  
    3.     [[CCDirector sharedDirector] startAnimation];  
    4. }  
    5.   
    6. - (void)applicationDidEnterBackground:(UIApplication *)application  
    7. {  
    8.         [[CCDirector sharedDirector] stopAnimation];  
    9.     [[CCDirector sharedDirector] pause];  
    10. }  

     这样修改完成后,就不会出错了,按home键程序处于刮起挂起状态,再切会来是,程序保持在推出之前的状态

    iphone的多线程虽说技术上实现的不是很完美,但效果确实很不错





  • 相关阅读:
    如何把阿里图标库的图标生成代码并应用于自己的项目
    【记事件】
    极光推送,为什么IOS有的手机一直收不到推送。
    浮点型的数据对比。
    MySQL通过show processlist查看项目的mysql写的有问题
    thinkPHP5实现简单的多图上传
    mac终端运行/终止jar包
    referer参数和addslashes()函数的骚路子
    小技巧|addslashes绕过
    团队博客七
  • 原文地址:https://www.cnblogs.com/hainange/p/6153233.html
Copyright © 2011-2022 走看看