• cocos2d-js v3新特性


    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 测试例。

  • 相关阅读:
    LeetCode-Minimum Path Sum
    LeetCode-Validate Binary Search Tree
    LeetCode-Recover Binary Search Tree
    LeetCode-Valid Parentheses
    LeetCode-Generate Parentheses
    LeetCode-4Sum
    BZOJ 2295: [POJ Challenge]我爱你啊
    BZOJ 2725: [Violet 6]故乡的梦
    BZOJ 3672: [Noi2014]购票
    BZOJ 4327:[JSOI2012]玄武密码
  • 原文地址:https://www.cnblogs.com/recock/p/4191177.html
Copyright © 2020-2023  润新知