2016.6.17 关于事件点击的理解和点击对象互换的功能

var that = this;
    var listener = cc.EventListener.create({
        event: cc.EventListener.TOUCH_ONE_BY_ONE,
        swallowTouches: true,
        onTouchBegan: function (touch, event) {
            /*var target =  event.getCurrentTarget();
            var locationInNode = target.convertToNodeSpace(touch.getLocation());*/
            cc.log(123)
            var locationInNode= touch.getLocation();
            //var s = target.getContentSize();
            for(var index in that.cellArr){
                var cell=that.cellArr[index]
                var rect = cc.rect(cell.x,cell.y , cell.width, cell.height);
                if (cc.rectContainsPoint(rect, locationInNode)){
                    if(cell.getSelected()){
                        cell.setSelected(false)
                        that._temp = null
                    }
                    else{
                        cell.setSelected(true)
                        if(that._temp == null){
                            that._temp = cell
                        }
                        else {
                            var cengjingdeI = that.cellArr.indexOf(that._temp)
                            that.cellArr[cengjingdeI].setSelected(false)
                            cell.setSelected(false)
                            var temp = cell.getPosition()
                            cell.setPosition(that.cellArr[cengjingdeI].getPosition())
                            that.cellArr[cengjingdeI].setPosition(temp)
                            that._temp = null
                        }
                    }
                    return
                    }
                }

        }
});
    cc.eventManager.addListener(listener,  this);
},
其中的onTouchBegan是固定的api  是不能自己定义的  ,
cc.eventManager.addListener(listener,  this);  这是创建一个点击事件  其中listener是点击的方法。而this是传入的是类的对象。

点击对象互换的功能:
var cengjingdeI = that.cellArr.indexOf(that._temp)
that.cellArr[cengjingdeI].setSelected(false)
cell.setSelected(false)
var temp = cell.getPosition()
cell.setPosition(that.cellArr[cengjingdeI].getPosition())
that.cellArr[cengjingdeI].setPosition(temp)
that._temp = null

这是在数组里面存了若干个小的对象 或者可以是图片  当点击时获得当前点击的坐标
然后定义一个变量计算是否有点击。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值