先上代码!
this.pos.getBoundingBoxToWorld().contains(this._dragObj.convertToWorldSpaceAR(cc.v2(0,0)));
// return bool
在看里面的方法:解释摘自文档
- getBoundingBoxToWorld :返回节点在世界坐标系下的对齐轴向的包围盒(???讲咩,不管 ! 往下看 !)
- contains : 当前矩形是否包含指定坐标点
- convertToWorldSpaceAR : 将节点坐标系下的一个点转换到世界空间坐标系
代码翻译:pos 节点在世界坐标下的包围盒,是否包含this._dragObj 节点中心点的世界坐标
所以,包围盒就是 节点的边框;
中心点:节点坐标系下position 为0 的点刚好是 节点 anchor的点
使用:
if(this._head.getBoundingBoxToWorld().contains(this._dragObject.convertToWorldSpaceAR(cc.v2(0,0)))){
// 直接更改包围盒节点的图片,完成拖动并归位的效果
this._head.getComponent(cc.Sprite).spriteFrame = this.lv8Birds[0];
}