![](https://csdnimg.cn/release/download_crawler_static/87648989/bg5.jpg)
CSystem::SetWindowTitle("坦克大战");
2、FunCode 程 序 运 行 时 , 当 发 生 键 盘 按 下 事 件 , 程 序 首 先 调 用 并 执 行
CSystem::OnKeyDown 函 数 , 然 后 由 CSystem::OnKeyDown 函 数 调 用 并 执 行
CGameMain::OnKeyDown 函 数 。 因 此 , 键 盘 按 下 事 件 的 响 应 代 码 我 们 在
CGameMain::OnKeyDown 函数中编写即可。
3、我们要处理的两个精灵如下图,它们的名称分别是splash 和 start。我们需要创建两
个 CSprite 类对象与这两个精灵绑定。
4、在 CGameMain 类中声明两个 CSprite*类型,根据面向对象的封装性原理,成员变量
的访问权限应该是 private。代码应该写 LessonX.h 文件中。
在 CGameMain 类的构造函数中,对上面两个指针变量进行初始化。通过调用 CSprite
m_pSplash= new CSprite("splash");
m_pStart= new CSprite("start");
5、最后,我们在 CGameMain::OnKeyDown 函数中处理空格键按下事件。
KEY_SPACE 是 枚 举 变 量 KeyCodes 的 成 员 , 表 示 空 格 键 。 KeyCodes 定 义 在
CommonClass.h 文 件 中 。 该 枚 举 变 量 定 义 了 全 部 的 键 盘 值 。 注 意 : 必 须 将
m_iGameState 的值改为 1。当 GameMainLoop 函数再次执行时,根据 m_iGameState
的值调用并执行 GameInit 函数,游戏进入开始状态。
进入游戏开始状态时,调用 CSprite 类的 SetSpriteVisible 函数将精灵图片设置为不可
见。
m_pSplash->SetSpriteVisible(false);
m_pStart->SetSpriteVisible(false);
6、程序执行完 CGameMain::GameInit 函数后,执行 CGameMain:: SetGameState(2),将
m_iGameState 的值改为 2,游戏进入运行状态。
7、在 CGameMain 类的析构函数中 delete 本实验创建的指针对象,以释放分配的内存。
CGameMain::~CGameMain()