Cocos Creator 用JS脚本实现游戏背景的无限滚动

       首先是实现的一个原理:使用2张相同的图片,让它们在脚本中不停的移动(用y值的减少来实现)。当有图片离开场景时,给此图片的y重新赋值(相当于位置的重置),在update中无限调用背景移动的函数。

我的canvas: 位于上方的图片结点名称为BG,下方的名称为BG2

背景结点的位置属性:

 

代码如下:

properties: {

far_bg: [cc.Node],  //用于管理背景图片结点的数组,记得回cocos面板中添加数组的结点数量

bg_speed: 0.6,   //移动时控制速度的变量

},

update(dt) {

this.bgMove(this.far_bg, this.bg_speed);

},

 

bgMove: function (bgList, speed) {

//每次循环二张图片一起滚动

for (var index = 0; index < bgList.length; index++) {

bgList[index].y -=speed;

}

//y坐标减去自身的height得到这张背景刚好完全离开场景时的y值

if (bgList[0].y <= 20 - bgList[0].height) {

bgList[0].y = 1000; //离开场景后将此背景图的y重新赋值,位于场景的上方

}

if (bgList[1].y <= 1020 - 2 * bgList[1].height) {

bgList[1].y = 1000;

}

},

 

 

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值