scenemanager.h

来自「This code was developed by my techer. :D」· C头文件 代码 · 共 45 行

H
45
字号
#ifndef COMPGRAF_SCENEMANAGER_H
#define COMPGRAF_SCENEMANAGER_H

#include "SDL.h"
#include "SDL_opengl.h"
#include <list>
using namespace std;

class Rendereable;

class SceneManager
{
public:
	static SceneManager* getInstance();
	~SceneManager();

	void update( float elapsedTime );
	void render();
	void freeSurface();
	void handleEvent(SDL_Event* sdlEvent);
	bool isRunning();

	void addObject( Rendereable* object );
private:
	SceneManager();
	SDL_Surface*	screen;

	bool running;

	static SceneManager* instance;
	void initPerspective();

	void handleKeyDown(SDL_KeyboardEvent* sdlKeyEvent);
	void handleKeyUp(SDL_KeyboardEvent* sdlKeyEvent);

	GLfloat rotSpeedWorld, rotSpeedXModel, rotSpeedYModel;
	GLfloat rotWorld, rotXModel, rotYModel;

	static const GLfloat ROT_SPEED;

	list<Rendereable*>	objectsList;
	Rendereable*		origin;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?