XNA游戏开发之(六)——保存游戏数据
摘要:[原创]Alex 游戏过程中,通常需要存储游戏状态。在下次启动游戏时,重新载入游戏,继续游戏。 实现过程非常简单,首先建立一个结构体定义需要保存的游戏参数,然后通过XmlSerializer类将其保存为一个XML文档。 [代码] XNA游戏可运行在XBOX和PC,做到两者的兼容,需要使用StorageDevice将数据保存到磁盘。首先 一步创建一个StorageDevice,这个过程需要打开...
阅读全文
posted @
2010-05-04 16:45
AlexCheng
阅读(271)
推荐(0)
XNA游戏开发之(五)——XNA实现组件复用
摘要:在XNA游戏开发过程中,OPP思想尤为重要,它能实现组件的复用。将特定部分从程序主体中分离出来。 游戏开发与普通应用程序开发不同,每个游戏对象在运行过程中都会被更新Update或重绘Draw。因此分离出的对象必须要有自己的初始化方法(Initialize),LoadContent,Update,Draw,UnLoadContent方法。 在定义新类的最好方法是继承GameComponent类。这...
阅读全文
posted @
2010-04-26 23:33
AlexCheng
阅读(401)
推荐(0)
XNA游戏开发之(四)——改变Draw频率
摘要:当运行XNA游戏时,XNA会以尽可能大的频率调用Draw方法 Draw的频率大于屏幕刷新频率时,Draw设置失效。 如果屏幕刷新频率只有每秒100次,每秒绘制110次是无用的。在PC和Xbox360平台上,,屏幕刷新率是由PC屏幕和它的设置决定的,Zune 30每秒刷新60次,其他Zune设备每秒刷新30次。 Update方法每秒调用60次。如果游戏计算量太大,Draw方法调用次数会变少以...
阅读全文
posted @
2010-04-25 00:51
AlexCheng
阅读(450)
推荐(0)
XNA游戏开发之(三)——使用IsRunningSlowly
摘要:当使用TargetElapsedTime改变屏幕刷新频率过高,XNA无法达到时,这种情况下gameTime.IsRunningSlowly=true;将gameTime参数传递到Update方法中去判断gameTime. IsRunningSlowly代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://w...
阅读全文
posted @
2010-04-25 00:34
AlexCheng
阅读(224)
推荐(0)
XNA游戏开发之(二)——IsFixedTimeStep
摘要:默认情况下Update方法每秒调用60次,或者说每隔16.667毫秒更新一次。可以通过改变TargetElapsedTime变量改变更新频率: this.TargetElapsedTime = TimeSpan.FromSeconds(1.0f / 1500.0f); 当调用到这行代码时,XNA会以每秒1500次的频率调用Update方法。 可以让XNA不按固定时间间隔调用Update方法,要做...
阅读全文
posted @
2010-04-24 23:38
AlexCheng
阅读(353)
推荐(0)
XNA游戏开发之(一)——TargetElapsedTime设置Update方法刷新频率
摘要:自定义游戏屏幕刷新时间,默认情况下XNA开发框架的屏幕刷频率为60次。在默写时候,通常需要改变屏幕的刷新次数。可以通过Game类的TargetElapsedTime自定义设置即设置TargetElapsedTime间隔时间。 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighl...
阅读全文
posted @
2010-04-24 23:23
AlexCheng
阅读(497)
推荐(0)