lua注册事件函数

registerScriptTouchHandler             注册触屏事件

registerScriptTapHandler                  注册点击事件

registerScriptHandler                         注册基本事件 包括 触屏 层的进入 退出 事件

registerScriptKeypadHandler           注册键盘事件

registerScriptAccelerateHandler      注册加速事件

 

 

registerScriptTouchHandler 详解(可以设置单点或多点)

  1. function gameWindow:addLayerTouchEventMethod1()  
  2.     local function onTouchEvent(eventType, x, y)  
  3.         --log("eventType = "..tostring(eventType))  
  4.         if eventType == "began" then   
  5.             --需要返回true  
  6.             return onTouchBegan(touch, event)  
  7.         elseif eventType == "moved" then   
  8.             onTouchMoved(touch, event)  
  9.         elseif eventType == "ended" then   
  10.             onTouchEnded(touch, event)  
  11.         end  
  12.     end  
  13.     config.bottomLayer:setTouchEnabled(true)  
  14.     config.bottomLayer:registerScriptTouchHandler(onTouchEvent)  
  15. end  


registerScriptTapHandler                  注册点击事件

  1. function gameWindow:addBtn()  
  2.     local btn = cc.MenuItemImage:create("white.png", "black.png", "black.png")  
  3.     btn:setPosition(320, 160)  
  4.     local function btnClick()  
  5.         log("btnClick")  
  6.     end  
  7.     btn:registerScriptTapHandler(btnClick)  
  8.   
  9.     local menu = cc.Menu:create()  
  10.     config.bottomLayer:addChild(menu)  
  11.     menu:setPosition(cc.p(0,0))  
  12.   
  13.     menu:addChild(btn)  
  14. end  


registerScriptHandler                         注册基本事件

注册触屏事件用法

  1. function gameWindow:addLayerTouchEventMethod2()  
  2.     --创建一个单点触屏事件  
  3.     local listener = cc.EventListenerTouchOneByOne:create()  
  4.     --注册触屏开始事件  
  5.     listener:registerScriptHandler(onTouchBegan, cc.Handler.EVENT_TOUCH_BEGAN)  
  6.     --注册触屏移动事件  
  7.     listener:registerScriptHandler(onTouchMoved, cc.Handler.EVENT_TOUCH_MOVED)  
  8.     --注册触屏结束事件  
  9.     listener:registerScriptHandler(onTouchEnded, cc.Handler.EVENT_TOUCH_ENDED)  
  10.     --获取层的事件派发器  
  11.     local eventDispatcher = config.bottomLayer:getEventDispatcher()  
  12.     --事件派发器 注册一个node事件  
  13.     eventDispatcher:addEventListenerWithSceneGraphPriority(listener, config.bottomLayer)  
  14. end  




注册layer的 进入 退出事件用法

  1. function gameWindow:addLayerEnterAndExitEvent()  
  2.     local function onNodeEvent(eventType)  
  3.         if eventType == "enter" then  
  4.             log("enter")  
  5.         elseif eventType == "exit" then  
  6.             log("exit")  
  7.         end  
  8.     end  
  9.     config.bottomLayer:registerScriptHandler(onNodeEvent)  
  10. end  


registerScriptHandler 注册键盘事件

    1. function cocoEvent.addKeyboardEvent()  
    2.     local function keyboardPressed(keyCode, event)  
    3.         if keyCode == 23 then  
    4.             log("left")  
    5.         elseif keyCode == 24 then  
    6.             log("right")  
    7.         elseif keyCode == 25 then  
    8.             log("up")  
    9.         elseif keyCode == 26 then  
    10.             log("down")  
    11.         end  
    12.         --log("keyCode = "..tostring(keyCode))  
    13.         --log("event = "..tostring(event))  
    14.     end  
    15.   
    16.     local function keyboardReleased(keyCode, event)  
    17.         --log("keyCode = "..tostring(keyCode))  
    18.         --log("event = "..tostring(event))  
    19.     end  
    20.     local listener = cc.EventListenerKeyboard:create()  
    21.     listener:registerScriptHandler(keyboardPressed, cc.Handler.EVENT_KEYBOARD_PRESSED)  
    22.     listener:registerScriptHandler(keyboardReleased, cc.Handler.EVENT_KEYBOARD_RELEASED)  
    23.     local eventDispatcher = config.bottomLayer:getEventDispatcher()  
    24.     eventDispatcher:addEventListenerWithSceneGraphPriority(listener, config.bottomLayer)  
    25. end 

转载于:https://www.cnblogs.com/aibox222/p/8656323.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值