cocos2d-x TestLua 之 设置菜单优先级 setHandlerPriority()

来源:互联网 发布:淘宝的营销模式 编辑:程序博客网 时间:2024/06/07 09:48

欢迎各位童鞋转载,转载请注明出处:http://blog.csdn.net/song_hui_xiang

作者新浪微博:http://weibo.com/u/3168848533

作者腾讯微博:http://t.qq.com/song_huixiang

--当两个或多个menu重叠时,我们可以设置它们的优先级来决定触发哪个。local size = CCDirector:sharedDirector():getWinSize()local m_bPriority = falselocal menu_1 = CCMenu:create()local menu_2 = CCMenu:create()--创建菜单1local function menu1CallFunc(tag,sender)    if m_bPriority then        menu_2:setHandlerPriority(kCCMenuHandlerPriority + 20)  --设置菜单的优先级。 数值越低,优先级越高        m_bPriority = false    else        menu_2:setHandlerPriority(kCCMenuHandlerPriority - 20)  --设置菜单的优先级。 数值越低,优先级越高        m_bPriority = true    endendlocal item_sp_1 = CCSprite:create("fang_n.png")local item_sp_2 = CCSprite:create("fang_d.png")local item_1 = CCMenuItemSprite:create(item_sp_1,item_sp_2)item_1:setPosition(ccp(size.width*0.5-item_1:getContentSize().width*0.5,size.height*0.5))item_1:registerScriptTapHandler(menu1CallFunc)menu_1:setPosition(ccp(0,0))menu_1:addChild(item_1)mainLayer:addChild(menu_1)--创建菜单2local function menu2CallFunc(tag,sender)    local menu_2 = tolua.cast(sender:getParent(),"CCMenu")    if m_bPriority then        menu_2:setHandlerPriority(kCCMenuHandlerPriority + 20)  --设置菜单的优先级。 数值越低,优先级越高        m_bPriority = false    else        menu_2:setHandlerPriority(kCCMenuHandlerPriority - 20)  --设置菜单的优先级。 数值越低,优先级越高        m_bPriority = true    endendlocal item_sp_3 = CCSprite:create("gong_n.png")local item_sp_4 = CCSprite:create("gong_d.png")local item_2 = CCMenuItemSprite:create(item_sp_3,item_sp_4)item_2:setPosition(ccp(size.width*0.5,size.height*0.5))item_2:registerScriptTapHandler(menu2CallFunc)menu_2:setPosition(ccp(0,0))menu_2:addChild(item_2)mainLayer:addChild(menu_2)local scene = CCScene:create()scene:addChild(mainLayer)CCDirector:sharedDirector():runWithScene(scene)


原创粉丝点击