展会信息港展会大全

cocos2dx+lua注册事件函数详解
来源:互联网   发布日期:2015-09-28 10:37:05   浏览:2071次  

导读:coocs2dx 版本 3.1.1 registerScriptTouchHandler 注册触屏事件 registerScriptTapHandler 注册点击事件 registerScriptHandler 注册基本事件 包括 触屏 层的进入 退出 事件 registerScriptKeypadHandler 注册键盘事件 registerScriptAccelerateHandler 注册...

coocs2dx 版本 3.1.1

registerScriptTouchHandler注册触屏事件

registerScriptTapHandler注册点击事件

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

registerScriptKeypadHandler注册键盘事件

registerScriptAccelerateHandler注册加速事件

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

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

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

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港