关闭

cocos2d-x按钮回调方法的参数

标签: cocos2d-xios游戏开发按钮回调
1448人阅读 评论(0) 收藏 举报
分类:
制作一个菜单,有时候每个菜单项的功能都大同小异,只有一点区别。。以前都是给每一个item定义一个回调方法,但是这样会显得代码有点乱,因为很多代码都是重复的。
终于找到了解决办法,通过item的tag值来做不同的处理,相同的代码只写一遍就可以了。
item->setTag();
举个例子:

//创建菜单项
CCMenuItem *item1 = CCMenuItemImage::create("xx.png", "Arial", this, 
                  menu_selector(HelloWorld::itemCall));
item1->setTag(1);
CCMenuItem *item2 = CCMenuItemImage::create("xx.png", "Arial", this, 
                  menu_selector(HelloWorld::itemCall));
item1->setTag(2);

//回调方法
void HelloWorld::itemCall(CCObject *pSender)
{
    CCMenuItem *pItem = (CCMenuItem *)pSender;
    int flag = pItem->getTag();
    switch(flag) {
    case 1:
    break;
    case 2:
    break;
    default:
    break;
    }
    //...do something
}

############# 更新###############
给菜单项传递对象
item->setUserObject(CCObject *);
在回调方法中:item->getUserObject(); 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:33441次
    • 积分:516
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:2篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论