cocos2d - JS 点击事件

来源:互联网 发布:服务器架构设计软件 编辑:程序博客网 时间:2024/05/17 00:16

cocos2d - JS 点击事件 :

点击事件 Demo :

   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());},

判断点击指定sprite :

onTouchBegan: function (touch, event){    var target = node;       // node  需要判断点击的节点    var locationInNode = target.convertToNodeSpace(touch.getLocation());    var size = target.getContentSize();    var rect = cc.rect(0, 0, size.width, size.height);    if (cc.rectContainsPoint(rect, locationInNode))    {        cc.log("点击")    }    return true;},

点击拖动 :

that.Fly 是需要移动的Sprite

onTouchMoved: function (touch, event) {    var target = this.Fly    var delta = touch.getDelta();    target.x += delta.x;    target.y += delta.y;}, 

ccui 按钮 :

注意 : ccui 需要在project里面添加 extensions .

这里写图片描述

var btn = new ccui.Button(res.Btn);btn.setPosition(100, 100);btn.addTouchEventListener(this.cb);this.addChild(btn);
cb: function(ref, type){    if(type == ccui.Widget.TOUCH_ENDED){        cc.log("touch");      }  },
0 0