個人的なメモとして書きます。
以前に紹介した「LWF」なんですが、cocos2dxのバージョンが古いとビルドエラーがたくさん出ます。
主に、ライブラリ−の場所の変更やクラスの関数名の変更のために発生するモノです。
もし、このようなエラーが出た場合は参考にしてみてください。
‘platform/CCPlatformMacros.h’ file not found
このエラーは、[CCPlatformMacros]クラスの保存されている場所が違うために出てきます。
1 2 3 4 5 |
//間違い platform/CCPlatformMacros.h //正解 base/CCPlatformMacros.h |
Use of undeclared identifier ‘getLineHeight’; did you mean ‘getHeight’?
これは[Label]クラスの関数が変わっているために表示されます。メッセージのように[getHeight]に変更をします。
‘draw’ marked ‘override’ but does not override any member functions
これはoverrideをする元の関数が無いよ、というエラーです。これに関しては、正しい方法かわからないのですが、overrideを削除すればビルドできるようになりました。
「LWF」も無事動きます。
1 2 3 4 |
//virtual void draw(cocos2d::Renderer *renderer,const cocos2d::Mat4 &transform, uint32_t flags) override //overrideを削除する virtual void draw(cocos2d::Renderer *renderer,const cocos2d::Mat4 &transform, uint32_t flags) |
‘visit’ marked ‘override’ but does not override any member functions
これも先ほどと同じようにoverrideを削除すれば大丈夫でした。【追記】
上記の方法では、lwfは再生できるのですが、開放時にエラーがでます。
cocos2dxのバージョンは3.11。
テクスチャアトラスを使っているので、以下の様に利用をしています。
1 2 3 4 5 6 7 8 |
const char *path = "Hogehoge/hogehoge.lwf"; auto lwfNode = LWFNode::create(path); SpriteBatchNode *batch = SpriteBatchNode::createWithTexture(lwfNode->getTexture()); batch->addChild(lwfNode,10); this->addChild(batch,10); |
【LWFとは】
![]() | cocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応] for iOS/Android 三木 康暉 技術評論社 2014-12-27 売り上げランキング : 6972 Amazonで詳しく見る |
