cocos2d-x开发日志06 —— 菜单制作

菜单有菜单本身和按钮,也就是说,我们要新建一个按钮,然后放在菜单上,然后再把菜单放在场景里或者其他图层里。

那下面我们来做一个开始游戏的菜单

先新建一个按钮

auto startgame = MenuItemFont::create(“Start Game”,”font/Marker Felt.ttf”,CC_CALLBACK_1(MenuCallBAck));

这里的MenuCallBAck就是我们按钮的被回调的方法,按下按钮就会执行这个方法。

然后新建一个菜单

auto menu = Menu::create(stratagem,…,NULL);

这里新建菜单的时候把上面那个按钮添加了进去,如果有多的按钮需要添加,可以写在省略号处。

现在菜单还显示不出来,需要添加到图层上

this->addChild(menu);

那么我们要开始写回调方法了:

void MenuCallBAck(Ref *obj);

必须定义一个obj变量,这里会告诉你传进来的是哪个按钮。

多个按钮可以共用一个回调方法,那怎么办,很简单,用一个switch:

void MenuCallBAck(Ref *obj){
        auto l = (MenuItemFont*)obj;//l存放obj
        switch(l->getTag){  //获取按钮的编号,当然你需要提前设置编号,用setTag设置。
            …..
        }
}

switch中根据按钮的编号设置不同的方法

你可能感兴趣的:(cocos2d-x)