Note that there are some explanatory texts on larger screens.

plurals
  1. POImplementation of the replacing game scene in C++
    primarykey
    data
    text
    <p>I have about 10 scene classes in my C++ game. It's something like a regular game screen (menu screen, game screen, leaderboard, options, etc). So I need some technique to replace one scene to another. I've read all comments you posted me in this thread and tried to implement it. Now I have following code:</p> <pre><code>// -----[ main.cpp ]----- // #include "SceneManager.h" #include "Scene.h" int main( int argc, const char * argv[] ) { SceneManager *sceneManager = new SceneManager(); sceneManager-&gt;changeScene( 0 ); delete sceneManager; return 0; } // -----[ Scene.h ]----- // class SceneManager; class Scene { public: SceneManager *sceneManager; void start( SceneManager *sceneManager ); }; // -----[ SceneManager.h ]----- // #include "Scene.h" #include "MenuScene.h" #include "GameScene.h" class Scene; class MenuScene; class GameScene; class SceneManager { public: Scene* scene; void changeScene( short id ) { if ( scene != NULL ) { delete scene; // to prevent a memory leak } if ( id == 0 ) { scene = new MenuScene(); } else if ( id == 1 ) { scene = new GameScene(); } if (scene) { scene-&gt;start( this ); } } }; // -----[ MenuScene.h ]----- // class MenuScene: public Scene { public: void start( SceneManager *sceneManager ) { this-&gt;sceneManager = sceneManager; } }; // -----[ GameScene.h ]----- // class GameScene: public Scene { public: void start( SceneManager *sceneManager ) { this-&gt;sceneManager = sceneManager; } }; </code></pre> <p>It doesn't work because of error (XCode 4.6, MacOS X):</p> <pre><code>Apple Match-O Linker (id) Error Undefined symbols for architecture x86_64: "Scene::start(SceneManager*)", referenced from: SceneManager::changeScene(short) in main.o ld: symbol(s) not found for architecture x86_64 </code></pre> <p>What do i do wrong? How to fix it? Maybe someone knows about some popular issues on this subject?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload