懒加载

我最先接触懒加载(延时加载)是在Hibernate里,因为一次和数据库交互过多,导致应用程序卡顿,所以就延迟加载这些数据,等需要的时候再取.可以认为懒加载就是非即时的加载数据.

 

问题的产生

在游戏开发中,也会碰到一次处理太多数据造成游戏卡顿降帧,比较典型的比如”背包”模块,背包可以认为是一个ListView,由一个lua table里的一些元素作为数据源来构建,当用一个for循环去构造界面时,背包格子过多会导致游戏线程卡住,游戏降帧在所难免.如何做到不降帧?我们可以把一个复杂的逻辑分在多个帧里去做.

 

来看看代码

用法

Github

戳这里

3D时代

当Unity3D开始支持2D的时候Cocos2d-x也开始慢慢支持3D

Cocos2d-x的3D

使用下来一是不习惯,二是问题比较多,比较明显的,就是模型在运动时白边比较严重

开启抗锯齿

找到项目的AppController.mm文件
在didFinishLaunchingWithOptions方法中将

替换成

模型白边的问题就好很多了

ScrollView滚动视图

在游戏开发过程中,由于手机屏幕空间有限,加上手指的灵动性,滑动成了最好的替换翻页的操作方式
ScrollView就是在这种需求驱动下的产物

cc.ScrollView和cc.ui.UIScrollView

前者是cocos2dx3.3原生的c++类,继承于cc.Layer
后者是QuickUI组件中的lua类,继承于cc.ClippingRectangleNode

quick中的cc.ui.UIScrollView用法

在实际运用过程中,我发现quick的滚动组件存在性能问题(windows上),一旦组件多了之后滚动不流畅,卡顿严重

原生cc.ScrollView用法