1

我在从 ccTouchesBegan 方法访问公共 ivars 时遇到了一些问题,

我有这个场景:

class introScene : public cocos2d::CCLayer {
public:
    virtual bool init();
    static cocos2d::CCScene* scene();
    bool autoScroll;

    virtual void ccTouchesBegan(cocos2d::CCSet* touches, cocos2d::CCEvent* event);
    void skip();

    CREATE_FUNC(introScene);
};

从 .cpp 文件中我尝试访问变量autoScroll,但它坚持认为该变量不存在,我在这里做错了什么吗?

void ccTouchesBegan(cocos2d::CCSet* touches, cocos2d::CCEvent* event){
        autoScroll = false;

}

这会生成:使用未声明的标识符“autoScroll”

4

1 回答 1

2

我对 cocos2d一无所知,但我认为您已经错误地定义了该方法,因为您错过了类名。试试这个:

void introScene::ccTouchesBegan(cocos2d::CCSet* touches, cocos2d::CCEvent* event){
    // ^^^^^^^
    autoScroll = false;
}
于 2012-09-10T09:23:58.793 回答