laya用Tween实现物体随机移动

开发中常常需要做一些测试,该脚本用Tween实现了物体的随机移动,可以按需挂载。

export default class MoveScript extends Laya.Script {
    private moveSpeed: number = .05; // 移动速度
    private rotationSpeed: number = 5; // 旋转速度

    private _targetPos: Laya.Point = new Laya.Point();

    private _spr: Laya.Sprite;
    private _tween: Laya.Tween;
    onEnable(): void {
        this._tween = new Laya.Tween();
        this._spr = this.owner as Laya.Sprite;
        this.toNext();
    }

    private dis(start: { x, y }, end: { x, y }): number {
        return Math.sqrt(Math.pow(end.x - start.x, 2) + Math.pow(end.y - start.y, 2));
    }

    private toNext(): void {
        this._targetPos.setTo(Math.random() * Laya.stage.width, Math.random() * Laya.stage.height);
        this._tween.to(this._spr, { x: this._targetPos.x, y: this._targetPos.y }, this.dis(this._spr, this._targetPos) / this.moveSpeed, Laya.Ease.linearNone, Laya.Handler.create(this, this.toNext));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值