Cocos 进度条物体跟随效果
话不多说上代码,记录一下初学cocos解决的问题,实用小功能。
import { _decorator, Button, Component, Node, ProgressBarComponent, Sprite, UITransform, Vec3 } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('game_scene1')
export class game_scene1 extends Component {
@property({ type: Button })
back: Button = null; //返回按钮
@property({ type: Sprite })
loading: Sprite = null; //进度条
@property({ type: Node })
pen: Node = null; //毛笔移动
onLoad() {
this.back.node.on(Button.EventType.CLICK, this.backMain, this);
}
start() {
}
update(deltaTime: number) {
this.LoadingMove(deltaTime);
this.PenMove();
}
backMain() {
//返回主页面
console.log("返回主页");
//this.LoadingMove(0.1); //刷新进度条
}
//进度条填充
LoadingMove(filltime: number) {
this.loading.fillRange += filltime;
}
//笔的位置更新
PenMove() {
// 获取进度条的宽度
let size = this.loading.getComponent(UITransform).contentSize;
// 计算物体的目标位置
const targetX = size.width * this.loading.fillRange;
//targetX是你要跟随的图片节点的位置偏移量
const targetPosition = new Vec3(targetX-190, this.pen.position.y, this.pen.position.z);
// 更新物体的位置
this.pen.setPosition(targetPosition);
}
}
图片效果:毛笔一直随着进度条进行位移