1.页面布局
利用节点将游戏所需要的元素弄到布局上面,然后通过js文件去完成页面布局。
ps:在js文件中获取节点
1.abc:cc.组件名
properties: {
//获取滚动的两个节点
speed:0,
scrollN1:cc.Node,
scrollN2:cc.Node
},
2.let 变量名=this.getComponent(组件名);
2.背景图片循环播放
1.设置两张需要循环的背景图片,
node.y=0,
node.x为图片长度
每张图片的锚点设置为(0.0)左下角
2、在js文件中写图片循环的代码
1.获取两图片节点的node组件
scrollN1:cc.Node,
scrollN2:cc.Node
2.在js文件中写循环播放的代码
1.获取第一张图片的node.x,并计算出图片宽度width,
let width=this.node.width
2.设置图片移动速度speed,速度为负值实现图片向左移动
3.通过updata提供的dt,计算出每个dt移动的x
4.将node.x+=dt*speed;
5.判断第一张图片是否全部左移,如果是,将第一张图片位置换到第二张图片后面
if(this.scrollN1.x <= -width1){
this.scrollN1.x = this.scrollN2.x + width2;
}
if(this.scrollN2.x <= -width2){
this.scrollN2.x = this.scrollN1.x + width1;
}
完整代码
cc.Class({
extends: cc.Component,
properties: {
//获取滚动的两个节点
speed:0,
scrollN1:cc.Node,
scrollN2:cc.Node
},
// LIFE-CYCLE CALLBACKS:
// onLoad () {},
start () {
},
//查看对象的属性
//1、根据对象的类型到API文档中搜索相应类型,查看相关属性和方法
//2、属性面板上有的属性一般对象也有,属性面板中的属性使用大驼峰命名,
//真正的属性是用小驼峰,访问属性的适合要把属性面板中的大驼峰改为小驼峰
//3、借助chrome在要查看的对象处打断点,查看该对象的属性和方法
update (dt) {
this.scrollN1.x += this.speed*dt;
this.scrollN2.x += this.speed*dt;
let width1 = this.scrollN1.width;
let width2 = this.scrollN2.width;
if(this.scrollN1.x <= -width1){
this.scrollN1.x = this.scrollN2.x + width2;
}
if(this.scrollN2.x <= -width2){
this.scrollN2.x = this.scrollN1.x + width1;
}
},
});