Cocos Studio可滚动层裁剪失败总结

来源:互联网 发布:ntfs for mac 14 编辑:程序博客网 时间:2024/06/04 19:14
目前Cocos Studio的UI控件中包含ScrollView、PageView、ListView三种滚动层,但是经常会遇到开发者们抱怨在游戏中会显示说有的内容,而不会将超出区域裁剪掉。 
 

目前经过总结,基本由以下三种情况造成: 

一:未开启“模拟裁剪属性” 
   
 
如上图:这个属性在所有的滚动层容器都可以看到。如果你想正常显示滚动层的内容,请注意勾选此项。 
 
二:未开启OpenGL深度缓存 
 
 
这个问题在ios会经常遇到,部分安卓机型也会出现,遇到此问题按照下面的方法修改: 
 
ios 工程修改 :AppController.mm文件(在ios项目根文件夹) 
 
 

复制代码
  1. EAGLView *__glView = [EAGLView viewWithFrame: [window bounds]
  2.                                      pixelFormat: kEAGLColorFormatRGBA8
  3.                                      depthFormat: GL_DEPTH24_STENCIL8_OES
  4.                               preserveBackbuffer: NO
  5.                                       sharegroup: nil
  6.                                    multiSampling: NO
  7.                                  numberOfSamples: 0];
 
 
 
安卓工程 修改 game activity,在安卓项目的src目录下 
 
复制代码
  1. public Cocos2dxGLSurfaceView onCreateView() {
  2.         Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);
  3.         glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);
  4.         return glSurfaceView;
  5.     }
 
 
三:硬件不支持 
 
如果您尝试过以上方法还是不能解决,这多数情况下是由于这台设备的显卡不能够支持,这部分机型多数集中于10年左右的机型,如U880等低端机。目前这批机型已经基本退出市场,可以给予忽略。 
 
如果大家有其他问题并未包含在以上三种情况欢迎跟帖回复。 
 
 
 
 
四:背景变为绿色 
 
 
该问题是opengL渲染模式问题导致的,请您尝试修改appActivity.java解决。代码如下:  
 
public Cocos2dxGLSurfaceView onCreateView() {   
        Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);   
        glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);  //仍不行可以试试8,8,8,8,16,0  
        return glSurfaceView;   
    }  
 
 
 
还有一种只在切换/加载场景、截屏的时候出现绿色,但是加载完毕后一切正常 
这个请参考https://github.com/cocos2d/cocos2d-x/pull/7927 修复。仅针对3.0~3.2,3.3以后版本无需修改。 

0 0
原创粉丝点击