目录
- 背景滚动
背景滚动
创建一个 空节点
背景丟进去 ( 复制一个,再丢一次都行)
新建TS脚本 并绑定到 空节点 上
再对TS脚本进行编辑
export class TS2bg extends Component {@property (Node) // 通过属性面板去赋值bg1:Node = null@property (Node) bg2:Node = null@property speed : number = 100start() {}update(deltaTime: number) {let pos1 = this.bg1.position // 获取bg1的坐标//pos1.y -= this.speed * deltaTime // 修改bg1的坐标 属性值不允许修改this.bg1.setPosition( // 设置bg1移动坐标pos1.x , pos1.y - this.speed * deltaTime)}
}
代码编辑完后,在属性选项中绑定数据
最终样子
保存一下运行一下,看背景是否向下移动
@property (Node) bg2:Node = null
写成一行不行,代码如下
export class TS2bg extends Component {@property (Node) // 通过属性面板去赋值bg1:Node = null@property (Node)bg2:Node = null@property speed : number = 100 // 100是像素start() {}update(deltaTime: number) {let pos1 = this.bg1.position // 获取bg1的坐标//pos1.y -= this.speed * deltaTime // 修改bg1的坐标 属性值不允许修改this.bg1.setPosition( // 设置bg1移动坐标pos1.x , // 竖屏是Y轴移动,X轴不变pos1.y - this.speed * deltaTime // deltatime 应该是过去的时间)let pos2 = this.bg2.position // 获取bg2当前坐标this.bg2.setPosition(pos2.x,pos2.y - this.speed * deltaTime)pos1 = this.bg1.positionpos2 = this.bg2.positionif (pos1.y < -852 * 2) {this.bg1.setPosition(pos1.x , 0)}if (pos2.y < -852 * 2) {this.bg2.setPosition(pos1.x , 0)}}
}
问题
一,中间有缝隙
底缩短 -852 * 2 改成 -850 * 2
二,重置数值为何如此大?
查看 camera 视野范围,确实包含 bg1
查看 bg1 属性 初始就是 -852 ,所以 -852 * 2 才是底