在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函数。