如图,我试图构建一个基于OGRE的游戏,但是OGRE的实例里面都是通过一个主程序文件来实现的,这让我觉得很难受我想把功能分开来,让 cDisplay 类来负责OGRE的显示部分,CSound 类来负责声音播放,CGame类来负责游戏逻辑现在问题来了,如果我按照图片上这样划分的话,我怎么做到3个类之间的交互?比如现在玩家输入了账号按了确定,应该告诉CGame类玩家输入了什么账号、密码,并且通知CGame去服务器验证密码验证成功的话再由CGame类告诉CDisplay类已经验证成功了,显示主城吧!显示主城之后CDisplay告诉CSound该播放背景音乐了好复杂,我该如何让这3个类之间交互数据呢?
Display.h
class cDisplay
{
...
};
extern cDisplay m_displaycGame.cpp#include "Display.h"
cDisplay m_display;
//这样则cGame所有函数都能调用m_display了
同法:
Display.cpp中加入
#include "cGame.h"
cGame m_game;
则相互引用的,可以!
那么他会重新执行一遍cDisplay的构造函数吗?如果会的话,好像会出错吧