在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
C#开发Unity游戏教程循环遍历做出推断及Unity游戏演示样例Unity中循环遍历每一个数据,并做出推断非常多时候。游戏在玩家做出推断以后。游戏程序会遍历玩家身上大量的所需数据,然后做出推断。即首先判定玩家是否有权限做出这样的选择。然后才决定是否为玩家运行此选择。比如。《仙剑奇侠传》这款游戏,进入剧情“荷叶迷宫时”,会要求玩家击碎迷宫里的5尊雕塑,如图5-12所看到的。可是击碎的前提是,玩家身上必须携带有“锤子”。 也就是说系统会遍历玩家身上全部的资源,假设有锤子才干击碎雕塑。
图5-12 《仙剑奇侠传》,荷叶迷宫全图 推断是否有指定的数据,能够使用本章前面所学的if语句来解决。 可是眼下还存在两个其他的问题:
C#倒是提供了两种机制,能够非常有效的解决以上的两个问题,本节会逐个具体解释介绍它们。 Unity中大量数据的存储与引用C#指定了3种存储与引用大量数据的方法,各自是:数组、列表和字典。本小节会使用简单的小演示样例依次解说它们,至于大的游戏演示样例,会在本章解说全然部的知识点以后给出。 1.数组 数组能够存储大量同类型的数据。它的声明格式为:
比如,以下的代码语句声明,而且初始化了数组:
读者应该能够从这条语句中看出,声明的是int类型的数组,数组名为myIntArray,存储了5个int类型的数据,各自是1、3、5、7和9。 引用数组中指定数据的格式为:
为脚本MyScript加入以下的代码:
执行游戏,在Console视图里查看脚本输出的信息,如图5-13所看到的。
图5-13 使用数组的演示样例 2.列表 列表与数组类似,相同用于存储大量同类的数据。可是似乎C#开发者相对于数组,更偏爱列表一些。 除非逼不得已,否则他们不会从列表和数组二者间选择后者,基本上是由于以下的几个原因:
这次作者打算在演示一个演示样例以后,在详细介绍列表的声明和使用等等。 为脚本MyScript加入以下的代码:
执行游戏,在Console视图里查看脚本输出的信息,如图5-14所看到的。
图5-14 使用列表的演示样例
此语句声明了列表,其名为myIntList,眼下还没有存储不论什么数据。和数组一样,声明列表时也须要指定指定列表中能够存储的数据的类型,本演示样例中存储的类型是int。
通过这样的方式,一个int类型的数据1,才被存储到了列表中。
单从编写样式上看。它的引用方式与数组引用自身数据的方式一模一样,并且它的下标也是从0開始,表示存储的第1个数据,其他数据的存储下标以此类推。
3.字典 字典的用法与列表类似,可是它的声明须要指定一对数据类型,即键(Key)和值(Value)这两个数据的数据类型。使用字典最大的优点就是,能够通过Key,找到与之相应的Value。 对于游戏的实际意义是。一个网络游戏一定须要存储大量用户的游戏信息。而游戏程序定位这些信息的方式一般是使用ID。 也就是说,一个玩家就有一个ID,而ID关联了用户的全部信息,所以仅仅要知道用户的ID,就不愁找不到玩家的其他游戏信息了。 在解说字典的语法前,相同先演示一个演示样例,为脚本MyScript加入以下的代码:
执行游戏,在Console视图里查看脚本输出的信息。如图5-15所看到的。
图5-15 使用字典的演示样例
是字典的声明部分。从格式上来看与列表的声明方式十分相近。仅仅只是声明字典须要同一时候指定键和值两个数据的数据类型。
可是字典还有其他的方式。即脚本11行的代码
这样的方式,乍看之下与数组存储数据的方式一样。可是此种方式里,中括号“[ ]”里的数字可不是“下标”,而是“键”。
Unity中遍历大量的数据假设须要在脚本中使用相同的操作去一一判别大量的数据。C#倒是提供了一种不错的机制。读者也许会有兴趣,就是“循环”。C#里有3种用于实现循环的语句,各自是:foreach、for和while。 本小节打算依次介绍它们的用法。最后再将这样的机制应用到游戏中。 1.foreach循环 为了更好的说明foreach循环的用法,以下将演示一个演示样例。此演示样例会使用foreach循环遍历数组、列表和字典里的全部数据。并使用if语句选择所需的数据。 为MyScript脚本加入以下的代码:
执行游戏,在Console视图里查看脚本输出的信息。如图5-16所看到的。
图5-16 使用foreach循环的演示样例
foreach后括号“( )”里的语句,表示的含义是:要遍历的是myArray数组,而数组中的每一个数据都将先被存储于同类型的myStrArray变量中。语句的书写格式例如以下: 全部评论
专题导读
热门推荐
热门话题
阅读排行榜
|
请发表评论