感觉quick里的hitTest有点问题

先上代码和图
测试代码

function MainScene:onCreate()
    -- add background image
    self.bg = display.newSprite("MainSceneBg.jpg")
        :move(display.center)
        :addTo(self)
    
    self.button = display.newSprite("PlayButton.png")
        :move(display.center)
        :addTo(self.bg)
    local listener = cc.EventListenerTouchOneByOne:create()
    listener:setSwallowTouches(true)
    listener:registerScriptHandler(handler(self,self.onTouchBegan),cc.Handler.EVENT_TOUCH_BEGAN )
    listener:registerScriptHandler(handler(self,self.onTouchMoved),cc.Handler.EVENT_TOUCH_MOVED )
    listener:registerScriptHandler(handler(self,self.onTouchEnded),cc.Handler.EVENT_TOUCH_ENDED )
    self:getEventDispatcher():addEventListenerWithSceneGraphPriority(listener, self.button)
end

function MainScene:onTouchBegan(touch,event)
    local pos = touch:getLocation()
    local target = event:getCurrentTarget()

    if target:hitTest(pos,false) then
        return true
    end
    return false
end


```

hitTest代码
function Node:hitTest(point, bCascade)
    local nsp = self:convertToNodeSpace(point)
    local rect
    if bCascade then
        rect = self:getCascadeBoundingBox()
    else
        rect = self:getBoundingBox()
    end

    if cc.rectContainsPoint(rect, nsp) then
        return true
    end
    return false
end


```

箭头是我鼠标点的地方
 
debug的数据是hitTest里面的nsp和rect的数据
 
我想说的是nsp是相对于我的button的,而rect则是相对于button在父节点的位置,不是在同个一坐标系里面,所以检测出来nsp没有在rect里面 ,我认为nsp已经是以node为坐标系的话,那rect的x和y应该都是0,宽高就是本身的宽高,不知道我这样对不对?

感谢楼主反馈