cocos2d-js之单点触摸

    xiaoxiao2021-03-25  113

    屏幕触摸事件有两个监听器cc.EventListener.TOUCH_ONE_BY_ONE和cc.EventListener.TOUCH_ALL_AT_ONCE,分别对应着单点触摸和多点触摸。 与触摸事件相关联的触摸响应属性有: onTouchBegan:当手指触摸屏幕是回调该属性所指的函数,如果函数返回值为true,才会回调后面两个属性(onTouchMoved和onTouchEnded)所指定的函数,否则不回调 onTouchMoved:当手指在屏幕上移动时回调改属性所指定的函数 onTouchEnded:当手指离开屏幕时回调该属性所指定的函数 onTouchCancelled:当触摸事件取消时回调该属性所指定的函数


    单点触摸示例代码

    var listener = cc.EventListener.create({ event:cc.EventListener.TOUCH_ONE_BY_ONE, swallowTouches:true, onTouchBegan:function(touch, event){ return true; }, onTouchMoved:function(touch, event){ //获取所监听的node对象(widget) var target = event.getCurrentTarget(); var delta = touch.getDelta(); target.x += delta.x; target.y += delta.y; //获取当前点击点相对于监听对象的位置坐标 var localPos = target.convertToNodeSpace(touch.getLocation()); }, onTouchEnded:function(touch, event){ } }); //注册监听器 //param:widget是此监听器所要监听的cc.Node对象 cc.eventManager.addListener(listener, widget); //如果需要监听其它的node对象需要clone一个新的监听器对象,用法如下: cc.eventManager.addListener(listener.clone(), this.getChildByName("another_node"));
    转载请注明原文地址: https://ju.6miu.com/read-8572.html

    最新回复(0)