出處:html
http://www.2cto.com/kf/201409/338235.htmlnode
coocs2dx 版本 3.1.1spa
registerScriptTouchHandler 註冊觸屏事件code
registerScriptTapHandler 註冊點擊事件htm
registerScriptHandler 註冊基本事件 包括 觸屏 層的進入 退出 事件blog
registerScriptKeypadHandler 註冊鍵盤事件事件
registerScriptAccelerateHandler 註冊加速事件ip
registerScriptTouchHandler 詳解(能夠設置單點或多點)get
function gameWindow:addLayerTouchEventMethod1() local function onTouchEvent(eventType, x, y) --log("eventType = "..tostring(eventType)) if eventType == "began" then --須要返回true return onTouchBegan(touch, event) elseif eventType == "moved" then onTouchMoved(touch, event) elseif eventType == "ended" then onTouchEnded(touch, event) end end config.bottomLayer:setTouchEnabled(true) config.bottomLayer:registerScriptTouchHandler(onTouchEvent) end
registerScriptTapHandler 註冊點擊事件string
function gameWindow:addBtn() local btn = cc.MenuItemImage:create("white.png", "black.png", "black.png") btn:setPosition(320, 160) local function btnClick() log("btnClick") end btn:registerScriptTapHandler(btnClick) local menu = cc.Menu:create() config.bottomLayer:addChild(menu) menu:setPosition(cc.p(0,0)) menu:addChild(btn) end
registerScriptHandler 註冊基本事件
function gameWindow:addLayerTouchEventMethod2() --建立一個單點觸屏事件 local listener = cc.EventListenerTouchOneByOne:create() --註冊觸屏開始事件 listener:registerScriptHandler(onTouchBegan, cc.Handler.EVENT_TOUCH_BEGAN) --註冊觸屏移動事件 listener:registerScriptHandler(onTouchMoved, cc.Handler.EVENT_TOUCH_MOVED) --註冊觸屏結束事件 listener:registerScriptHandler(onTouchEnded, cc.Handler.EVENT_TOUCH_ENDED) --獲取層的事件派發器 local eventDispatcher = config.bottomLayer:getEventDispatcher() --事件派發器 註冊一個node事件 eventDispatcher:addEventListenerWithSceneGraphPriority(listener, config.bottomLayer) end
註冊layer的 進入 退出事件用法
function gameWindow:addLayerEnterAndExitEvent() local function onNodeEvent(eventType) if eventType == "enter" then log("enter") elseif eventType == "exit" then log("exit") end end config.bottomLayer:registerScriptHandler(onNodeEvent) end
registerScriptHandler 註冊鍵盤事件
function cocoEvent.addKeyboardEvent() local function keyboardPressed(keyCode, event) if keyCode == 23 then log("left") elseif keyCode == 24 then log("right") elseif keyCode == 25 then log("up") elseif keyCode == 26 then log("down") end --log("keyCode = "..tostring(keyCode)) --log("event = "..tostring(event)) end local function keyboardReleased(keyCode, event) --log("keyCode = "..tostring(keyCode)) --log("event = "..tostring(event)) end local listener = cc.EventListenerKeyboard:create() listener:registerScriptHandler(keyboardPressed, cc.Handler.EVENT_KEYBOARD_PRESSED) listener:registerScriptHandler(keyboardReleased, cc.Handler.EVENT_KEYBOARD_RELEASED) local eventDispatcher = config.bottomLayer:getEventDispatcher() eventDispatcher:addEventListenerWithSceneGraphPriority(listener, config.bottomLayer) end