我試圖創建一個從基類CCMenuItemImage派生的按鈕。我希望這個按鈕能夠在第一次觸摸時調用它的功能,而不是在觸摸結束後調用它。然而,試圖子類化,我得到一個錯誤,說這是一個無效轉換。Cocos2d-x子類問題CCMenuItemImage
button.ccp:
#include "button.h"
void Button::selected(){
CCLOG("SELECTED");
}
void Button::unselected(){
CCLOG("UNSELECTED");
}
Button* Button::create(const char *normalImage, const char *selectedImage, const char *disabledImage, CCObject* target, SEL_MenuHandler selector) {
Button *button = new Button();
if (button && button->initWithNormalImage(normalImage, selectedImage, disabledImage, NULL, NULL))
{
button->autorelease();
return button;
}
CC_SAFE_DELETE(button);
return NULL;
}
button.h:
#ifndef BUTTON_H
#define BUTTON_H
#include "cocos2d.h"
class Button : public cocos2d::CCMenuItemImage{
public:
virtual void selected();
virtual void unselected();
};
#endif
SinglePlayer.ccp片:
Button *left1 = Button::create("turncircle.png","turncircle.png", this, menu_selector(SinglePlayer::turning));
你定義這個創建.h文件中()函數?如果沒有,你應該把'Button * Button :: create(const char * normalImage,const char * selectedImage,const char * disabledImage,CCObject * target,SEL_MenuHandler selector);'在那裏。 –
@ m.ding它說'SEL_MenuHandler'尚未聲明。 –
是否在'h文件中放置了'using namespace cocos2d;'? –