【cocos2dx】「LWF」でエラーが出た場合の対処策

【cocos2dx】「LWF」でエラーが出た場合の対処策
   

個人的なメモとして書きます。
以前に紹介した「LWF」なんですが、cocos2dxのバージョンが古いとビルドエラーがたくさん出ます。
主に、ライブラリ−の場所の変更やクラスの関数名の変更のために発生するモノです。

もし、このようなエラーが出た場合は参考にしてみてください。

‘platform/CCPlatformMacros.h’ file not found

このエラーは、[CCPlatformMacros]クラスの保存されている場所が違うために出てきます。
//間違い
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」も無事動きます。

//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。
テクスチャアトラスを使っているので、以下の様に利用をしています。
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);

2014-12-24-fdsaa


【LWFとは】



cocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応] for iOS/Androidcocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応] for iOS/Android
三木 康暉

技術評論社 2014-12-27
売り上げランキング : 6972

Amazonで詳しく見る

Related Posts Plugin for WordPress, Blogger...