cocos 2 dイベント
2792 ワード
イベントリスナーは次のように分類されます.
1.EventListenerTouch(タッチイベント)
2.EventListenerKeyboard(キーボードイベント)
3.EventListenerMouse(マウス応答イベント)
3.EventListener Acceleration(記録イベントの加速)
4.EventListenerCustom(カスタムイベント)
イベント配布器:cc.Director:getInstance():getEventDispatcher()
Cocos 2 d-xのイベントハンドラはイベントリスニングクラスEventListenerであり、そのサブクラスは主に以下のとおりである.
EventListenerTouchOneByOne(ワンタッチリスナー)EventListenerTouchAllAtOnce(マルチタッチリスナー)EventListenerKeyBoard(キーボードイベントリスナー)EventListenerMouse(マウスイベントリスナー)EventListenerAcceleration(加速イベントリスナー)EventListenerCustom(カスタムイベントリスナー)
タッチイベント:
cc.Handler.EVENTはファイルCocos 2 dConstantsを表示する.lua
またはcococos 2 dx luaパッケージを使用する方法:
メッセージカスタムイベント:クリックしてリンクを開く
1.EventListenerTouch(タッチイベント)
2.EventListenerKeyboard(キーボードイベント)
3.EventListenerMouse(マウス応答イベント)
3.EventListener Acceleration(記録イベントの加速)
4.EventListenerCustom(カスタムイベント)
イベント配布器:cc.Director:getInstance():getEventDispatcher()
Cocos 2 d-xのイベントハンドラはイベントリスニングクラスEventListenerであり、そのサブクラスは主に以下のとおりである.
EventListenerTouchOneByOne(ワンタッチリスナー)EventListenerTouchAllAtOnce(マルチタッチリスナー)EventListenerKeyBoard(キーボードイベントリスナー)EventListenerMouse(マウスイベントリスナー)EventListenerAcceleration(加速イベントリスナー)EventListenerCustom(カスタムイベントリスナー)
タッチイベント:
local start_ = nil
local function onTouchBegan(touch, event)
self.canClick = true
if not start_ then
start_ = touch:getLocation()
end
return true -- moved cancelled ended
end
local function onTouchMoved(touch, event)
local touchLocation = touch:getLocation()
if self.start_ then
-- 10px,
if cc.pGetDistance(touchLocation, self.start_) > 10 then
self.canClick = false
end
end
end
local function onTouchCancelled(touch, event)
if self.canClick then
--
end
end
local function onTouchEnded(touch, event)
end
local listener_touch = cc.EventListenerTouchOneByOne:create()
listener_touch:setSwallowTouches(true) --
listener_touch:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN)
listener_touch:registerScriptHandler(onTouchMoved,cc.Handler.EVENT_TOUCH_MOVED)
listener_touch:registerScriptHandler(onTouchCancelled,cc.Handler.EVENT_TOUCH_CANCELLED)
listener_touch:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED)
local eventDispatcher = self:getEventDispatcher() --
eventDispatcher:addEventListenerWithSceneGraphPriority(listener_touch, self) --
cc.Handler.EVENTはファイルCocos 2 dConstantsを表示する.lua
またはcococos 2 dx luaパッケージを使用する方法:
local scene = self:getResourceNode()
local button = scene:getChildByName("Button_1")
button:setTag(100)
local function menuZhuCeCallback(sender,eventType)
print(sender:getTag())
if eventType == ccui.TouchEventType.began then
print(" ")
elseif eventType == ccui.TouchEventType.moved then -- ended
print(" ")
elseif eventType == ccui.TouchEventType.ended then
print(" ")
elseif eventType == ccui.TouchEventType.canceled then
print(" ")
end
end
button:addTouchEventListener(menuZhuCeCallback)
メッセージカスタムイベント:クリックしてリンクを開く