cocos2d

来源:互联网 发布:逗猫软件 编辑:程序博客网 时间:2024/06/12 18:47

单点触摸事件 Demo1 :

onTouchBegan: function(touch, event){        return true;    },    onTouchMoved: function(touch, event){    },    onTouchEnded: function(touch, event){    },    addListener: function() {        cc.eventManager.addListener(cc.EventListener.create({            event: cc.EventListener.TOUCH_ONE_BY_ONE,            swallowTouches: true,            onTouchBegan: this.onTouchBegan.bind(this),            onTouchMoved: this.onTouchMoved.bind(this),            onTouchEnded: this.onTouchEnded.bind(this)        }), this);    }

API :

  • 点击坐标点:
onTouchBegan: function (touch, event){    cc.log(touch.getLocation());    return true;},
  • 鼠标拖动偏移量:
onTouchMoved: function (touch, event){    cc.log(touch.getDelta());},

单点触摸事件 Demo2:

// 创建一个事件监听器 OneByOne 为单点触摸var listener1 = cc.EventListener.create({    event: cc.EventListener.TOUCH_ONE_BY_ONE,    swallowTouches: true,                       // 设置是否吞没事件,在 onTouchBegan 方法返回 true 时吞掉事件,不再向下传递。    onTouchBegan: function (touch, event)       //实现 onTouchBegan 事件处理回调函数    {        var target = event.getCurrentTarget();  // 获取事件所绑定的 target, 通常是cc.Node及其子类        // 获取当前触摸点相对于按钮所在的坐标        var locationInNode = target.convertToNodeSpace(touch.getLocation());        var s = target.getContentSize();        var rect = cc.rect(0, 0, s.width, s.height);        if (cc.rectContainsPoint(rect, locationInNode))     // 判断触摸点是否在按钮范围内        {            cc.log("sprite began... x = " + locationInNode.x + ", y = " + locationInNode.y);            target.opacity = 180;            return true;        }        return false;    },    onTouchMoved: function (touch, event)           //实现onTouchMoved事件处理回调函数, 触摸移动时触发    {    },    onTouchEnded: function (touch, event)           // 实现onTouchEnded事件处理回调函数    {    }});cc.eventManager.addListener(listener, this);        //添加侦听器

鼠标事件 Demo :

//判断当前平台是否支持鼠标事件if("mouse" in cc.sys.capabilities) {    var listener = cc.EventListener.create({        event   : cc.EventListener.MOUSE,        target  : this,        onMouseDown : function(event){      //鼠标事件【按下】            var pos = event.getLocation();            var button = event.getButton();            if(button == cc.EventMouse.BUTTON_LEFT){            //左键                cc.log("左键按下", + pos.x + " " + pos.y);            }else if(button == cc.EventMouse.BUTTON_RIGHT){     //右键                cc.log("右键按下", + pos.x + " " + pos.y);            }else if(button == cc.EventMouse.BUTTON_MIDDLE){    //滚轮                cc.log("中间滚轮键按下");            }        },        onMouseUp : function(event){        //鼠标事件【抬起】        },        onMouseMove : function(event){      //鼠标事件【移动】            var pos = event.getLocation();            cc.log("鼠标当前位置:", pos.x, pos.y);        },        onMouseScroll : function(event){    //鼠标事件【滚轮滚动】            var pos = cc.p(event.getScrollX(), event.getScrollY());            cc.log("鼠标滚轮滚动x :", pos.x + "y:" + pos.y);        }    });    cc.eventManager.addListener(listener, this);}else{    cc.log("不支持鼠标事件");}
0 0