目录
- 背景滚动
背景滚动
创建一个 空节点
背景丟进去 ( 复制一个,再丢一次都行)
新建TS脚本 并绑定到 空节点 上
再对TS脚本进行编辑
export class TS2bg extends Component {
@property (Node) // 通过属性面板去赋值
bg1:Node = null
@property (Node) bg2:Node = null
@property speed : number = 100
start() {
}
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.position
pos2 = this.bg2.position
if (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 才是底