废话不多说,今天给大家带来的是精灵添加触摸事件,这里是添加简单的单点触摸 至于多点触摸之后提供
本人喜欢代码结合注释来讲解,感觉很直观的有木有:875:
local sprite = cc.Sprite:create("")--自己随便找个图片试一试
local function onTouchBegan( touch, event )
-- 不要忘了return true 否则你懂的(事件不能响应)
return true
end
local function onTouchEnded( touch, event )
-- body
end
local function onTouchMoved(touch, event)
local target = event:getCurrentTarget() --获取当前的控件
local posX,posY = target:getPosition() --获取当前的位置
local delta = touch:getDelta() --获取滑动的距离
target:setPosition(cc.p(posX + delta.x, posY + delta.y)) --给精灵重新设置位置
end
local listener1 = cc.EventListenerTouchOneByOne:create() --创建一个单点事件监听
listener1:setSwallowTouches(true) --是否向下传递
listener1:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN )
listener1:registerScriptHandler(onTouchMoved,cc.Handler.EVENT_TOUCH_MOVED )
listener1:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED )
local eventDispatcher = self:getEventDispatcher()
eventDispatcher:addEventListenerWithSceneGraphPriority(listener1, sprite) --分发监听事件
```