Cocos2d-x 菜单的响应


在cocos2dx中,只有CCMenuItemSprite才能有点击效果,并且简单。(CCButton没有用过)

但是,在正常情况下,只有CCMenuItemSprite被加入到CCmenu中才能被调用。所以还是很麻烦。

CCMenuItemSprite中居然有个setTarget的神级函数可以解决这个问题。

有两种简单的方式来处理这件事情。


1.需要建立成员变量,在创建出CCMenuItemSprite成员对象之后,调用setTarget函数,第一个参数写this,第二个参数写本类的统一的处理函数的方法。

2.不需要建立成员变量,使用局部的CCMenuItemSprite对象,创建成功之后,调用menu的add方法,并且设置tag。在对应的处理方法中,获取tag,根据不同的tag来做出不同的处理。


setTarget函数还可以调用处理其他的类的函数。

eg:

quikStartBtn->setTarget(m_call, menu_selector(CBtnCall::buttonCallback));

CBtnCall是一个接口。

只要继承了这个接口的类都可以使用setTarget函数。

你可能感兴趣的:(Cocos2d-x 菜单的响应)