Skip to content

Instantly share code, notes, and snippets.

@ryohey
Last active January 4, 2016 07:59
Show Gist options
  • Select an option

  • Save ryohey/8592064 to your computer and use it in GitHub Desktop.

Select an option

Save ryohey/8592064 to your computer and use it in GitHub Desktop.
Add Touch Up Callback in MenuItem for Make own GamePad in cocos2d-x v3.0beta0
#include "MyMenuItemLabel.h"
MyMenuItemLabel *MyMenuItemLabel::create(Node*label, const ccMenuCallback& selected, const ccMenuCallback& unselected) {
MyMenuItemLabel *ret = new MyMenuItemLabel();
ret->initWithLabel(label, selected, unselected);
ret->autorelease();
return ret;
}
bool MyMenuItemLabel::initWithLabel(Node* label, const ccMenuCallback& selected, const ccMenuCallback& unselected) {
super::initWithLabel(label, [](Object *){});
_selectedCallback = selected;
_unselectedCallback = unselected;
return true;
}
void MyMenuItemLabel::selected() {
super::selected();
_selectedCallback(this);
}
void MyMenuItemLabel::unselected() {
super::unselected();
_unselectedCallback(this);
}
#ifndef __Defense__MyMenuItemLabel__
#define __Defense__MyMenuItemLabel__
#include "cocos2d.h"
using namespace cocos2d;
class MyMenuItemLabel : public MenuItemLabel {
typedef MenuItemLabel super;
public:
static MyMenuItemLabel * create(Node*label, const ccMenuCallback& selected, const ccMenuCallback& unselected);
bool initWithLabel(Node* label, const ccMenuCallback& selected, const ccMenuCallback& unselected);
void unselected() override;
void selected() override;
private:
ccMenuCallback _selectedCallback;
ccMenuCallback _unselectedCallback;
};
#endif /* defined(__Defense__MyMenuItemLabel__) */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment