美文网首页
2018-02-14 cocoscreator

2018-02-14 cocoscreator

作者: 欧特雨 | 来源:发表于2018-02-14 10:23 被阅读0次

    1.加载文件夹,并显示进度

    cc.loader.loadResDir('/',
        function (completedCount, totalCount, item) {//读取完一个文件之后会调用一次
            var progress = (100 * completedCount / totalCount).toFixed(2);
            this.label.string = (progress + '%');
        }.bind(this),
        function(err,textures){
            cc.log('ok');
        });
    

    下面方法没有效果,不知道是写错了还是bug

    cc.loader.onProgress = function (completedCount, totalCount, item) {
            var progress = (100 * completedCount / totalCount).toFixed(2);
            cc.log(progress + '%');
        };
    cc.loader.loadResDir('/',function(err,textures){
            cc.log('ok');
        });
    

    2.cc是全局变量,可以把需要全局的变量放在cc.xx里,这样在别的地方可以直接使用,要注意xx是不是关键字。

    3.如果资源比较多,可以用场景预加载,或者动态加载。

    预加载

    cc.director.preloadScene("table", function () {
        cc.log("Next scene preloaded");
    });
    
    cc.director.loadScene("table");
    

    再切换场景时,速度就会快很多。
    动态加载了后面场景应用的资源,切换场景的时候就不需要再加载了。

    查看平台

    cc.sys.os
    

    如果是安卓,显示Android,不管是浏览器还是app

    cc.sys.OS_ANDROID
    cc.sys.OS_IOS
    

    判断是否为原生平台

    cc.sys.isNative
    

    动态加载资源,获取某个图片

    cc.loader.loadResDir('/',function(err, objects, urls){
        var url = 'resources/images/0.jpg';
        var texture = cc.loader.getRes(cc.url.raw(url));
    });
    

    cc.loader.getRes()获取的是texture2d资源,不能直接赋值给sprite.spriteFrame

    var url = 'resources/images/0.jpg';
    var texture = cc.loader.getRes(cc.url.raw(url));
    sprite.spriteFrame.setTexture(texture);
    
    //如果spriteFrame不存在
    sprite.spriteFrame = new cc.SpriteFrame(texture);
    

    播放animationClip。animation.play(),需要传递的是clip的名字。

    this.node.getComponent(cc.Animation).play(this.node.getComponent(cc.Animation).getClips()[1].name);
    

    cc.blink可能会引起节点不显示,即使节点的opacity设置255。需要使用node._sgNode.setVisible(true)

    QQ截图20180627105548.png

    新拉取的分支,使用单色精灵。default_sprite_splash会报这个错误

    TypeError: Cannot read property ‘gizmo’ of null 报错解决方式

    TypeError: Cannot read property ‘gizmo’ of null

    调整亮度的实现方式,两张相同的图片叠加在一起,改变上面的图片的blend dst factor为dst_alpha,改变上面图片的透明度即可


    image.png

    粒子和拖尾的图片资源不能打包成图集

    10.16

    image.png

    ts实现如图效果

    const { ccclass, property, menu } = cc._decorator;
    @ccclass
    @menu('Component/test')
    export default class test{}
    

    console.time() 和 console.timeEnd()得到一段代码的执行时间

    打开Creator引擎的安装目录
    /Applications/CocosCreator.app/Contents/Resources/static/preview-templates/boot.js
    打开该文件, 添加相应分辨率大小.
    // init device resolutions
    var devices = [
    { name: 'IPhone X', width: 812, height: 375, ratio: 3 },
    ];

    h5项目中,如果使用了webview,需要注意如果游戏的地址是https,webview打开的网页也要是https

    ios平台需要注意的问题
    creator版本2.0.10,
    label的resize_height和shrink模式,多行文本显示可能会出现第一行文字只显示一半,解决办法,拆分文本,使用多个label显示
    let d = new Date('2021-01-03 15:07:17') 在ios下d是NaN,解决办法,时间格式替换成'2021/01/03 15:07:17'

    相关文章

      网友评论

          本文标题:2018-02-14 cocoscreator

          本文链接:https://www.haomeiwen.com/subject/wifetftx.html