我继承了cc.Button重写了按钮。
处理按下事件的时候可以重写_onTouchBegan这个函数,控制是否进入逻辑。
_onTouchBegan: function (event)
{
var curWorldPos = this.node.parent.convertToWorldSpaceAR(this.node.getPosition());
var touchPos = event.touch.getLocation ();
if(this.isInTouch(curWorldPos,touchPos))
{
this._super(event);
}
},
但是_onMouseMoveIn没有event这个参数,导致自己无法处理是否要进入父类的_onMouseMoveIn里面。
_onMouseMoveIn: function (event)
{
//event没有值
var curWorldPos = this.node.parent.convertToWorldSpaceAR(this.node.getPosition());
var touchPos = event.touch.getLocation ();
if(this.isInTouch(curWorldPos,touchPos))
{
this._super();
}
},
我的界面:

这样会导致我已经离开了六边形的区域,但是还会停留已经放上去的状态,尤其是六边形比较大的时候更加明显。
系统调用的应该是物体的box。
node._hitTest(pos, this))
希望把event传递过来,可以自定义。