zoukankan      html  css  js  c++  java
  • Cocos Creator 拖动效果

    我们要实现的效果是,按住并拖动一个小物体,物体跟随手指(鼠标)移动。

    代码DragToAnywhere.ts

    const { ccclass, property } = cc._decorator;
    
    @ccclass
    export default class DragToAnywhere extends cc.Component {
    
        @property(cc.Label)
        label: cc.Label = null;
    
        start () {
            
        }
    
        onEnable() {
            this.node.on(cc.Node.EventType.TOUCH_MOVE, this._onTouchMove, this);
            this.node.on(cc.Node.EventType.TOUCH_END, this._onTouchEnd, this);
        }
    
        onDisable() {
            this.node.off(cc.Node.EventType.TOUCH_MOVE, this._onTouchMove, this);
            this.node.off(cc.Node.EventType.TOUCH_END, this._onTouchEnd, this);
        }
    
        // update (dt) {}
    
        _onTouchMove(touchEvent) {
            let location = touchEvent.getLocation();
            this.node.position = this.node.parent.convertToNodeSpaceAR(location); // 确定位置
        }
    
        _onTouchEnd(touchEvent) {
            // 放下
        }
    }
    

    DragToAnywhere.ts挂在预制体上。在场景中创建预制体对象。

    let node1 = cc.instantiate(this.drag_item);
    this.node.addChild(node1);
    node1.x = 100;
    node1.y = 100;
    node1.getComponent(DragToAnywhere).label.string = '水星';
    

    运行效果

    工程请查看github/CCCTry

  • 相关阅读:
    智联招聘
    我的Linux以及软件配置(长期更新)
    关于Git的笔记
    PHP和HTML表单
    web学习笔记——CSS整理(一)
    新开通博客园
    Thinphp模板替换
    __APP__
    大步前行
    centos 7 添加环境变量
  • 原文地址:https://www.cnblogs.com/rustfisher/p/14233205.html
Copyright © 2011-2022 走看看