c++ - Cocos2d-x 子类化问题 CCMenuItemImage

标签 c++ subclass cocos2d-x ccmenuitem

我正在尝试创建一个从基类 CCMenuItemImage 派生的按钮。我希望这个按钮能够在第一次触摸时而不是在触摸结束后调用它的功能。但是,尝试子类化时,我收到一条错误消息,指出这是一个无效的转换。

按钮.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;

}

按钮.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));

最佳答案

MenuItem select() 默认在触摸完成时触发。

您需要使用向调度程序注册的 Touch 子类化 CCSprite 并覆盖 ccTouchBegan

关于c++ - Cocos2d-x 子类化问题 CCMenuItemImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943498/

相关文章:

ios - 子类 UITextField 在使用具有自定义字体的尺寸类时覆盖字体

java - 将继承的变量强制转换为子类

ios - 如何添加滑动手势?

android - Cocos2dx Android I'm broken phenomenon 启动后是一个图像 Sprite onResume Activity

c++ - 我应该为 IOCP 创建多少个线程?

c++ - 附加到容器

c++ - MFC:创建无模式对话框而不显示

c++ - sockaddr_in6 没有声明?

swift - 使父类(super class)的初始值设定项返回特定的子类?

android - 如何在 cocos2d x for Android 中检测设备方向变化