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

cocos2dx+lua 3.1.1 注册事件函数详解

发布时间:2020-12-14 16:31:46 所属栏目:百科 来源:网络整理
导读:转载自:http://www.2cto.com/kf/201409/338235.html coocs2dx 版本 3.1.1 registerScriptTouchHandler 注册触屏事件 registerScriptTapHandler 注册点击事件 registerScriptHandler 注册基本事件 包括 触屏 层的进入 退出 事件 registerScriptKeypadHandler

转载自:http://www.2cto.com/kf/201409/338235.html

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 注册点击事件

?
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" )
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)
if "enter" then
)
"exit" then
)
end
end
config.bottomLayer:registerScriptHandler(onNodeEvent)
registerScriptHandler 注册键盘事件
14
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 "up" )
26 "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

(编辑:李大同)

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