読者です 読者をやめる 読者になる 読者になる

とあるプログラマの備忘録

都内某所に住むプログラマが自分用に備忘録を残すという趣旨のブログです。はてなダイアリーから移動しました!

【cocos2d-x-3.0beta2】タッチイベントの呼び出し

2系の参考書を見ながらcocos2dxの勉強をしているのですけど、
2系と3系で変わった所が有るととたんにつまづきますね。

今回もそれと同じで2系ではこんな書き方でタッチイベント呼び出せていたのですが

Main.h

    //タッチ操作
    virtual bool ccTouchBegan(cocos2d::CCTouch* touch, cocos2d::CCEvent pEvent);
    virtual void ccTouchEnded(cocos2d::CCTouch* touch, cocos2d::CCEvent pEvent);

Main.cpp

//タッチ開始イベント
bool Main::ccTouchBegan(Touch *pTouch, Event *pEvent)
{
    return true;
}

void Mian:: ccTouchEnded(Touch *pTouch, Event *pEvent)
{
    CCLOG("ccTouchEnded");
}

これを3系で実行するとエラーになりました Declaration of 'ccTouchBegan' overrides a 'final' function

f:id:raharu0425:20140220145411p:plain

むむん、、、、 これを解消する為に以下の様に変更します。

Main.h

    //タッチイベント
    bool onTouchBegan(cocos2d::Touch* pTouch, cocos2d::Event* pEvent);
    void onTouchEnded(cocos2d::Touch* pTouch, cocos2d::Event* pEvent);

Main.cpp

//タッチ開始イベント
bool Main::onTouchBegan(Touch *pTouch, Event *pEvent)
{
    return true;
}

//タッチ終了イベント
void Main::onTouchEnded(Touch *pTouch, Event *pEvent)
{
    CCLOG("ccTouchEnded");
}

これで通る様になりました