1、游戏对象
使用cc.game单例代替了原有的cc.Application以及cc.AppControl
2、属性风格API
旧的API 新的API
node.setPosition(x,y); node.x = x;
node.y = y;
node.setRotation(r); node.rotation = r;
3、屏幕适配策略(以640*960的分辨率为例)
var mode = cc.ResolutionPolicy.SHOW_ALL;//显示全部,有黑边
if(cc.winSize.width/cc.winSize.height > 640/960){
mode = cc.ResolutionPolicy.FIXED_WIDTH;//当屏幕宽高比大于分辨率时,以宽截屏
}else if(cc.winSize.width/cc.winSize.height < 640/960){
mode = cc.ResolutionPolicy.FIXED_HEIGHT;//当屏幕宽高比小于分辨率时,以高截屏
}
cc.view.setDesignResolutionSize(640, 960, mode);
4、图层缓存
当需要bake的节点元素加入到一个cc.Layer或其子类(cc.LayerColor,cc.LayerGradient)对象中,
然后调用该对象的bake函数就可以了。示例代码:
var bakeLayer = cc.Layer.create();
this.addChild(bakeLayer);
for(var i= 0;i<10;i++){
var sprite1 = cc.Sprite.create(s_pathGrossini);
sprite1.setPosition(90 + i * 80 , size.height / 2 - 50);
bakeLayer.addChild(sprite1);
}
bakeLayer.bake();
更多信息,可查看测试(js-test)的Bake Layer test。
ps:
1、对于子节点经常会变得层,启用bake功能,会给游戏带来额外的开销。
2、该功能仅在Canvas渲染模式下有效,在JSB和WebGL渲染模式不会产生效果。
5、JSB资源热更新管理器
资源管理器Assets Mannager(仅支持JSB),
多线程并行下载支持(主要用于APP中活动的添加)
可以参考js-test 中的Extensions/AssetsManagerTest 测试例。