万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    cocos2d-xの基本のクラス

    C++よくわからんのでメモ。
    ・Title.h

    #include "cocos2d.h"
    
    class Title : public cocos2d::CCLayer {
    
    public:
        ~Title();
        Title();
        
        virtual void draw();
        virtual void ccTouchesEnded(cocos2d::CCSet* touches, cocos2d::CCEvent* event);
        virtual void ccTouchesBegan(cocos2d::CCSet* touches, cocos2d::CCEvent* event);
        void update(cocos2d::ccTime dt);
    private:
    };
    
    #endif
    

    →「class Title」の「class」と「Title」の間に全角スペースなんか入れてると、「declaration of anonymous class must be a definition」と言うエラーが出ることがある。
    日本語環境使ってる人特有かもしれない・・

    ・Title.cpp

    #include "Title.h"
    
    #include "cocos2d.h"
    #include <iostream>
    
    using namespace cocos2d;
    
    Title::Title()
    {
        
    }
    
    Title::~Title()
    {
    }
    
    void Title::draw()
    {
    
    }
    
    void Title::ccTouchesBegan(CCSet* touches, CCEvent* event)
    {
    }
    
    void Title::ccTouchesEnded(CCSet* touches, CCEvent* event)
    {
    }
    

    →「using namespace cocos2d;」が書いてないと
    error: expected ';' after top level declarator 」とかいうエラー出たりする。


    ヘッダに宣言しているのに、.cppへ実装してないと
    「 "Title::update(float)", referenced from:」なんて言われる
    ※今回update