微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

    相关推荐