Laya 2.13.3 实现拖拽UI

import Prefab = Laya.Prefab;
import Event = Laya.Event;
import Sprite = Laya.Sprite;
import Point = Laya.Point;

export default class test extends Laya.Script{

    /** @prop {name:uiCard, tips:"预制体", type:Prefab}*/
    public uiCard: Prefab;


    private card:Sprite;
    private root:any;

    private isMouseDown:boolean;

    constructor(){
        super()
    }

    onAwake(): void {
        this.card = this.uiCard.create();
        this.root = this.owner.getChildAt(1);
        this.root.addChild(this.card);
        this.card.on(Event.MOUSE_DOWN, this, this.onMouseDown);
        this.card.on(Event.MOUSE_MOVE, this, this.onStartDrag);
        this.card.on(Event.MOUSE_UP, this, this.onMouseUp);
    }

    onMouseDown(e: Event): void {
        this.isMouseDown = true;
    }
    
    onStartDrag(e){
        if(!this.isMouseDown)return;
        let point = this.root.globalToLocal(new Point(Laya.stage.mouseX,Laya.stage.mouseY),false);
        this.card.pos(point.x,point.y);
    }

    onMouseUp(e: Event): void {
        this.isMouseDown = false;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值