计算机游戏程序设计实验指导书(6,7)-河北工业大学2015讲解.doc

计算机游戏程序设计实验指导书(6,7)-河北工业大学2015讲解.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机游戏程序设计 实验指导书 河北工业大学 计算机科学与软件学院 实验6 持久化数据和应用程序 一、实验目的与要求 1. 熟悉并掌握数据的存储方法,包括轻量级数据存储和文件存储。 2. 熟悉并掌握应用程序类的相关方法。 3. 熟悉并掌握鼠标拖动模型的实现。 二、实验原理及知识点 喜欢玩游戏的朋友应该很清楚,很多游戏中都会出现与“存储进度”、“读取进度”相关的菜单项,玩家一般将其称为游戏存档功能。他们用于保存玩家的游戏数据,并且还可以通过读取之前的游戏进度继续游戏,这就牵扯到数据存储。一般情况下,系统只存储一些轻量级的数据,比如字符型、整型、浮点型数据等。这是因为数据类型越简单,存储与读取就越迅速。此外,所有数据的存储都是通过流的形式来完成的,系统使用流将数据写入文件或从文件读取至程序。 1 PlayerPrefs类 Unity提供了一个用于本地持久化保存与读取数据的类——PlayerPrefs。它的工作原理是以键值对的形式将数据保存在文件中,这就好比给需要保存的每一个数据赋予名称,在将其成功存入本地存档以后,程序就可以根据这个名称取出上次保存的数据。 1.1 保存与读取数据 PlayerPrefs类可保存与读取3种基本的数据类型,它们是浮点型、整型和字符串型,涉及的方法如下。 □SetFloat( ): 保存浮点类型。 □SetInt( ): 保存整型。 □SetString( ): 保存字符串型。 □GetFloat( ): 获取浮点类型。 □GetInt( ): 获取整型。 □GetString( ): 获取字符串型。 这些函数的用法基本相同,使用Set进行保护,使用Get进行读取。下面列举一个存储与读取整型数据的例子。 //保存整型 PlayerPrefs.SetInt(Teat, 100); //读取数据 int i = PlayerPrefs.GetInt(Test, 888); 保存数据时,需要调用对应的Set方法,该方法的第一个参数表示存储数据的名称,第二个参数表示具体存储的数值:读取数据时,需要调用对应的Get方法,其返回值就是读取后的数值,该方法的第一个参数表示读取数据的名称,第二个参数表示读取数据的默认值,即如果通过数据名称没有找到对应的值,那么就直接返回数据的默认值。 1.2 删除数据 此外,PlayerPrefs类还提供了两种删除数据的方法:第一种为删除某一项数据,第二种为删除所有数据。为了安全起见,删除前还需判断系统中是否存有该数据。删除数据的方法如下。 □DeleteAll ( ) :将所有键对应的值数据统统删除。 □DeleteKey ( ) : 删除某一项数据,其参数为所删除数据的名称。 □HasKey ( ) : 判断是否存有这项数据,其参数为判断的数据名称。 2 自定义文件 如果需要在程序中处理大量的数据,使用PlayerPrefs类就不太适合了,因为PlayerPrefs是轻量级的存储。在存储电子小说这类文字资源非常海量的数据时,可以先将文字数据保存在本地文件中,再通过流去读取本地的资源数据,然后将其显示在屏幕中。此外,使用流还可以在程序中动态地创建本地文本文件,也可以将字符串信息动态地写入本地文本文件。 2.1 文件的创建与写入 文件的创建与写入都需要使用流来操作。要创建与写入文件,首先需要3组相关信息:创建文件的路径、名称以及写入文件的内容。 创建本地文件时,需要使用FileInfo类,在构造方法中写入文件的保存路径。通过对FileInfo的对象使用CreateText ( ) 方法,可在本地创建一个文本文件,使用AppendText ( )方法可代开以创建的文本文件,最后调用WriteLine ( ) 方法可将字符串写入刚刚创建的文本文件中。 2.2 文件的读取 文件的读取和写入一样,需要使用流来处理。文本文件中的数据是逐行存储的,因此可以使用流将文本内容逐行读出。 读取文件时,首先需要获取文件流,然后以循环的方式通过sr.ReadLine ( ) 方法将文本文件中的内容全部按行读取出来,读取完毕后该方法将返回null。 3 应用程序 应用程序是一项非常重要的属性,所有应用程序相关的方法都写在Application类中。它可以获取或设置当前程序的一些属性,比如加载游戏关卡,获取资源文件路径,退出当前游戏程序,获取当前游戏平台等。 3.1 创建关卡 游戏关卡也可以称为游戏场景。任何一个完整的游戏都是由若干场景组成的,比如游戏菜单场景、游戏主界面场景、战斗场景、胜利场景和通关场景等。通过这些场景的组合,可将整个游戏拆分成若干个模块,而在程序中可使用代码直接切换这些模块。 使用Unity创建一个新游戏项目,然后在导航菜单

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档