coocs2dx 版本 3.1.1
registerScriptTouchHandler 註冊觸屏事件
registerScriptTapHandler 註冊點擊事件
registerScriptHandler 註冊基本事件 包括 觸屏 層的進入 退出 事件
registerScriptKeypadHandler 註冊鍵盤事件
registerScriptAccelerateHandler 註冊加速事件
registerScriptTouchHandler 詳解(可以設置單點或多點)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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 註冊點擊事件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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 註冊基本事件
註冊觸屏事件用法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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的 進入 退出事件用法
1
2
3
4
5
6
7
8
9
10
|
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 註冊鍵盤事件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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 |