let aGameInstance = require('GameInstance'); cc.Class({ extends: cc.Component, properties: { BGArr: { default: [], type: [cc.Node], serializable: true, }, PlayerNode: { default: null, type: cc.Node, serializable: true, }, BGSprite: { default: null, type: cc.SpriteFrame, serializable: true, }, }, onLoad () { this.distance = 0; }, Reset() { if(aGameInstance.bFirstInGame) { aGameInstance.bFirstInGame =false; return; } for(let i=0 ;i<3; i++) { //创建一个新的节点,因为cc.Sprite是组件不能直接挂载到节点上,只能添加到为节点的一个组件 let node= new cc.Node('BG') //调用新建的node的addComponent函数,会返回一个sprite的对象 const sprite = node.addComponent(cc.Sprite) //给sprite的spriteFrame属性 赋值 sprite.spriteFrame=this.BGSprite; node.x = 720*i; //把新的节点追加到self.node节点去。self.node,就是脚本挂载的节点 this.node.addChild(node); } }, createMap() { //创建一个新的节点,因为cc.Sprite是组件不能直接挂载到节点上,只能添加到为节点的一个组件 let node= new cc.Node('BG') //调用新建的node的addComponent函数,会返回一个sprite的对象 const sprite = node.addComponent(cc.Sprite) //给sprite的spriteFrame属性 赋值 sprite.spriteFrame=this.BGSprite; node.x = this.BGArr[2].x + 720; //把新的节点追加到self.node节点去。self.node,就是脚本挂载的节点 this.node.addChild(node); return node; }, update (dt) { if(this.PlayerNode.x>this.BGArr[1].x) { this.BGArr.push(this.createMap()); this.BGArr.splice(0, 1); } }, });