位置: 编程技术 - 正文
推荐整理分享Unity3D游戏开发之使用场景Ⅰ:建立类型映射(Unity3D游戏开发pdf),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社,Unity3D游戏开发引擎,unity3D游戏开发,Unity3D游戏开发(第2版)pdf,Unity3D游戏开发pdf,Unity3D游戏开发标准教程,unity3D游戏开发,unity3D游戏开发,内容如对您有帮助,希望把文章链接给更多的朋友!
总的来看,Unity的使用场景主要有以下几个:
建立类型映射用于单例模式用于依赖注入接下来,将逐一介绍各使用场景。
在创建对象时,毫无疑问,类型映射是我们无法回避的一个问题,同时也是一系列工厂模式的根本出发点。类型映射,为面向对象设计的根本原则——“针对接口编程,而不是针对实现编程”、“要依赖抽象,不要依赖具体类”——在应用中的实现,提供了有力的支持。
我们知道,Unity提供了对象的容器,那么这个容器是如何进行索引的呢?也就是说,容器内的单元是如何标识的呢?在Unity中,标识主要有两种方式,一种是直接使用接口(或者基类)作为标识键,另一种是使用接口(或者基类)与名称的组合作为标识键。键对应的就是具体类。
用接口类型作为标识键实际上,之前给出的例子,就是接口类型作为标识键的一个使用场景,这里就不再重复。
这里需要指出的是,Unity提供的功能都有泛型和非泛型两个版本,这样可以确保 Unity 在不支持泛型的环境中使用。我们在代码中可以使用任意一种方法(泛型和非泛型),或者根据需要混合使用。例如,可以使用泛型形式来注册映射,然后使用非泛型形式去获取对象实例。
下面的代码演示了非泛型形式的使用:
ps:接下来的例子以及后续文章中的例子将不再演示非泛型形式的使用。
用基类作为标识键用基类作为标识键,在本质上与用接口类型作为标识键是一样的。这里需要注意的是,基类并不一定是指抽象类。下面是使用基类作为标识键的例子:
有趣的是,这里如果直接container.RegisterType();的话,是可以Resolve出来的,但是如果我们container.RegisterType();的话,运行时就会报异常了。
用接口(或基类)与名称的组合作为标识键
如果需要使用同样的接口(或基类)注册多个映射,可以指定名称来区分每个映射。在需要Resolve的时候,通过指定接口(或基类)与名称的组合作为标识键,就可以获取恰当类型的对象。下面的例子以接口与名称的组合为例,基类与名称的组合作为标识键同理,不再赘述(有关Ilogger等代码:
这里需要指出的是,注册名称是一个字符串,如果需要,可以包含空。它们是大小写敏感的。例如,名称“Mymapping”和“MyMapping”将指的是二个不同的注册映射。
Unity3D游戏开发之3DMAX 灯光 一、3DMAX五种光源1、OmmiLight泛光灯:可以从一点向四周均匀照射的点光源。2、TargetSpotlight目标聚光灯:一种投射光束,影响光束内被照射的物体,可以
法线贴图技术 什么是法线贴图技术呢?这是一种用来实现3D效果的一种技术,要想理解这种技术还请您听我慢慢道来。我们知道,在游戏中经常会有这样的情况,就是
Unity3D在NGUI中使用mask 过程是这样的:最近一直想做一个头像的mask效果,后来发现原来unity的mask需要用shader来写,网上找了不少资料,也能实现,不过大多数都是用rendertexture
标签: Unity3D游戏开发pdf
本文链接地址:https://www.jiuchutong.com/biancheng/382636.html 转载请保留说明!上一篇:教你怎样用unity3d发布一个Android的apk文件.绝对精细(教你怎样用气球做可爱小兔子气球君带你做气球手工)
下一篇:Unity3D游戏开发之3DMAX 灯光(Unity3D游戏开发毕业论文)
友情链接: 武汉网站建设