先放官方文档:
http://docs.cocos.com/creator/api/zh/classes/Rect.html#contains
var a = new cc.Rect(0, 0, 10, 10);
var b = new cc.Vec2(0, 5);
a.contains(b);// true
rect的获取:
// 世界坐标
this.node.getBoundingBoxToWorld();
// 局部坐标
this.node.getBoundingBox();
触点的获取:
///监听玩家操控
setTouchListener:function(){
var self = this;
var listener = {
event: cc.EventListener.TOUCH_ONE_BY_ONE,
onTouchBegan: function (touches, event) {
var target = event.getCurrentTarget();//获取事件所绑定的target
var locationInNode = target.convertToNodeSpace(touches.getLocation());
if(locationInNode.x>self.node.width/2){
cc.log("touches:" + touches.getLocation().x);
cc.log("坐标: " + locationInNode.x + " 大于 " + self.node.width/2);
cc.log("点击屏幕右侧");
}else{
cc.log("坐标: " + locationInNode.x + " 小于 " + self.node.width/2);
cc.log("点击屏幕左侧");
}
return true; //这里必须要写 return true
},
onTouchMoved: function (touches, event) {
},
onTouchEnded: function (touches, event) {
},
onTouchCancelled: function (touches, event) {
}
}
cc.eventManager.addListener(listener, self.node);
},