Cocos Creator 引擎源码调试、修改

JavaScript023

Cocos Creator 引擎源码调试、修改,第1张

Cocos Creator 的引擎部分包括 JavaScript 、 Cocos2d-x-lite 和 adapter 三个部分,各部分对应源码在(Mac 版):

JavaScript:CocosCreator.app/Resource/engine(JS 引擎)

Cocos2d-x-lite:CocosCreator.app/Resource/cocos2d-x(Cococ2d-x 引擎)

adapter:CocosCreator.app/Resource/builtin/

修改cocos源码。

将生成的所有json文件内容合并成一个大的json object,格式:{"json1文件名":"json1文件内容", "json2文件名":"json2文件内容" 。

将这些json文件内容合并,然后将合并后的内容预置到main.js中,修改cocos源码,判断如果请求的是asset json则从预置的main.js中读取出来,避免网络请求;

按照课程做的第一节 https://www.jianshu.com/p/c61f3ec0c66c

刚做完背景这步,加上飞机之后,效果有问题,背景可以正常滚动,鼠标点不到飞机,飞机随着背景滚下去了,谁知道问题出在哪里,麻烦给我留言,不胜感激

所以换了另一种方式做,两张图片,首尾可以无缝连接的两张图,图1铺满主场景,图2放在图1的上面,主场景看到的是图1,两张图一起滚动,图1刚好滚下去时,把图1和图2的位置初始化,这样看到的是无限的滚动。

cc.Class({

    extends: cc.Component,

    properties: {

        bgImage1: {     

            default: null,        // The default value will be used only when the component attaching       

            type: cc.Node, // optional, default is typeof default

        },

        bgImage2: {     

            default: null,        // The default value will be used only when the component attaching       

            type: cc.Node, // optional, default is typeof default

        },

    },    

    update (dt) {        

        this.bgImage1.y -= Math.ceil(cc.winSize.height*0.001)    //下移两张图片的位置

        this.bgImage2.y -= Math.ceil(cc.winSize.height*0.001)

        if(this.bgImage1.y < -cc.winSize.height){        //当第一张图片的y小于负的二分之一屏幕高度,就是它刚好离开视窗的时候,此时恢复两张图片的初始位置            

            this.bgImage1.y = 0      //第一张置于中间

            this.bgImage2.y = cc.winSize.height    //第二张放着第一张的上面

        }

    },

})

发现cocos 特别坑的一点是,只拿到脚本源码,还是做不出来,因为要配合场景中的各种组件的属性配置!!!!

有时间把分步骤都截图上来,给同是初学者的亲们分享一下,要不然初学者想入门太难了