Stage.h
lang
1 2#ifndef __ReGames2__Stage__ 3#define __ReGames2__Stage__ 4 5#include "cocos2d.h" 6 7class Stage :public cocos2d::Layer 8{ 9 10 11protected: 12 13 Stage(); 14 virtual ~Stage(); 15 bool init() override; 16 17 18 19public: 20 21 void update(float dt) override; 22 23 CC_SYNTHESIZE_RETAIN(cocos2d::TMXTiledMap *, _tiledMap, TiledMap); 24 25 CREATE_FUNC(Stage); 26 27private: 28 29 cocos2d::Sprite* addPhysicsBody(cocos2d::TMXLayer *layer, cocos2d::Vect &coordinate); 30 31 32}; 33 34#endif /* defined(__ReGames2__Stage__) */ 35
Stage.cppの途中
lang
1cocos2d::Sprite* Stage::addPhysicsBody(cocos2d::TMXLayer *layer, cocos2d::Vect $coordinate) 2{ 3 auto sprite = layer->getTileAt($coordinate); 4 if (sprite) { 5 auto material = PhysicsMaterial(); 6 material.friction = 0; 7 auto physicsBody = PhysicsBody::createBox(sprite->getContentSize(), material); 8 9 physicsBody->setDynamic(false); 10 11 sprite->setAnchorPoint(Vect::ANCHOR_MIDDLE); 12 13 return sprite; 14 } 15 16 return nullptr; 17} 18
このStage.cpp中のaddPhysicsBodyのところで
Out-of-line definition of 'addPhysicsBody' does not match any declaration in 'Stage'というエラーメッセージが出てきます。
ヘッダーファイルできちんと定義しているはずなのですが、
このエラーメッセージの対処法を教えてください!
よろしくお願いします!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。