整理的一些关于C#方面的游戏编程资料
}
}
}
这段代码非常简单, get代码块仅仅返回paused变量的值。Set代码块稍微复杂一点,用来设置游戏暂停或继续状态,如果设置Paused为true,判断游戏是否已经暂停(如果是,则不做任何处理),如果没有暂停,则暂停游戏计时器并设置paused变量值为true。如果Paused被设置为false,则继续游戏并设置paused变量的值为false。这里没有介绍计时器,因为后面专门需要介绍游戏中的计时器方面的设计考虑,因此在框架代码中,我们暂时把计时器涉及的代码注释掉。
Main方法
在新框架中,对Main方法也做了一些修改,代码如下:
static void Main()
{
try
{
Game game = new Game();
game.InitializeGraphics();
game.InitializeSound();
game.InitializeInput();
game.Show();
game.Run();
}
catch( Exception e )
{
MessageBox.Show( “Error: “ + e.Message );
}
}
首先创建Game对象并且初始化三个主要的媒体部件,然后显示游戏窗体并运行,最后捕获任何异常并输出错误消息。这和以前的框架有一点不一样,当时是在初始化方法中用bool类型的返回值来决定是否发生错误,现在完全变为基于异常的系统。
总结
现在已经有了一个精简的框架,可以开始设计游戏了。然而,我们现在还并不知道如何真正使用
DirectX,在接下来的三个章节将会解释这些在框架中遇到的DirectX的所有迷惑。不要担心DirectX太庞大复杂,托管的DirectX(Managed DirectX,MDX)在以前版本基础上有巨大的改善,比以前更容易使用。我们现在已经学习到了这些内容:
如何使用SharpDevelop创建一个新的Direct3D项目
如何使用项目向导生成一个游戏框架
如何使用窗体的基本特征
如何使用窗体的事件处理
熟悉游戏框架如何工作的
如何处理失去窗体焦点
Direct3D
Direct3D经历了漫长的发展之路,已经演变为一套复杂的图形API函数。尽管每一个发布版本都比以前版本更复杂,然而微软公司也让每个发布版本更易使用。
DirectX版本【略】