function GameScene:touchMove(touch,event)
local target= event:getCurrentTarget()
local pos = touch:getPreviousLocation()
local pos2 = touch:getLocation()
local m = cc.pSub(cc.p(pos.x,pos.y),cc.p(pos2.x,pos2.y)) -求滑动的向量 用于判断是往哪边滑动。
m = cc.pMul(cc.pNormalize(m),5) --滑动的距离
--如果当前的坐标值大于 图片超出的部分 则不移动 。我的精灵锚点是0.5 --以下判断经过简化了。
if -self.bg:getPositionX() >= -display.width + self.bg: getBoundingBox().width * 0.5 then
if m.x > 0 then
return
else
self.bg:setPositionX(-m.x+self.bg:getPositionX())
end
elseif self.bg:getPositionX() >= self.bg: getBoundingBox().width * 0.5 then
if m.x < 0 then
return
else
self.bg:setPositionX(-m.x+self.bg:getPositionX())
end
end
if -self.bg:getPositionY() >= -display.height + self.bg: getBoundingBox().height * 0.5 then
if m.y > 0 then
return
else
self.bg:setPositionY(-m.y+self.bg:getPositionY())
end
elseif self.bg:getPositionY() >= self.bg: getBoundingBox().height * 0.5 then
if m.y < 0 then
return
else
self.bg:setPositionY(-m.y+self.bg:getPositionY())
end
end
-- 计算滑动的向量 + 精灵的向量。 设置坐标值
self.bg:setPositionY(-m.y+self.bg:getPositionY())
self.bg:setPositionX(-m.x+self.bg:getPositionX())
end