加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx中lua注册事件函数详解

发布时间:2020-12-14 18:52:45 所属栏目:百科 来源:网络整理
导读:coocs2dx 版本 3.1.1 registerScriptTouchHandler 注册触屏事件 registerScriptTapHandler 注册点击事件 registerScriptHandler 注册基本事件 包括 触屏 层的进入 退出 事件 registerScriptKeypadHandler 注册键盘事件 registerScriptAccelerateHandler 注册

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)
"ended" then
onTouchEnded(touch,event)
end
end
config.bottomLayer:setTouchEnabled( true )
config.bottomLayer:registerScriptTouchHandler(onTouchEvent)
end

registerScriptTapHandler 注册点击事件

?
14
function gameWindow:addBtn()
local btn = cc.MenuItemImage:create( "white.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 ))
menu:addChild(btn)
registerScriptHandler 注册基本事件
注册触屏事件用法

?
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)


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

10
function gameWindow:addLayerEnterAndExitEvent()
local function onNodeEvent(eventType)
"enter" then
)
"exit" then
)
end
end
config.bottomLayer:registerScriptHandler(onNodeEvent)
registerScriptHandler 注册键盘事件
15
16
17
18
19
20
21
22
23
24
25
function cocoEvent.addKeyboardEvent()
local function keyboardPressed(keyCode,event)
keyCode == 23 "left" elseif keyCode == 24 "right" 25 then
"up" )
26 then
"down" )
"keyCode = " ..tostring(keyCode))
"event = " ..tostring(event))
end
local function keyboardReleased(keyCode,event)
..tostring(keyCode))
..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()
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!