栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 游戏开发 > 其他

每日笔试题练习4

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

每日笔试题练习4

一、简单讲述A*寻路算法原理

答:G = 从起点 A 移动到指定方格的移动代价,沿着到达该方格而生成的路径。

H = 从指定的方格移动到终点 B 的估算成本。

F = H+G

1、在A*算法中,大地图会被切分为各个全等正方形,每一个方格存储着三个信息:F、H、G三个值还有记录父类方格的位置信息。确定开始点后就将它加入到一个由方格组成的 openList中。

2、遍历查找openList中的方格的邻近方格,如果那些方格可以行走,也将其加入到openList中,同时计算F、H、G三个值并且将对他们发起搜索的初始方格设置为他们的父类方格,随后把openList中的方格放入closeList中,代表这些方格已经被搜索过,后续不再搜索。

3、在openList中选择F值最小的那一个方格继续执行第二步。

4、直到搜索到了终点或者全部搜索完毕后停止,如果可以达到终点,则从终点开始顺着终点方格的父类方格开始检索,获得所有的父类方格收入一个新的list中,将list倒转,即可获得最终寻路路线。A*

二、在Unity中什么是协同程序?如何启用协同程序?

答:协同程序简称协程,即在主程序运行时同时开启另一段逻辑处理,来协同当前程序的执行。换句话说,开启协同程序就是开启一个线程。与线程类似,每一个应用程序都对应一个进程,每一个进程都有一个主线程,但协程在主线程之中,因而使用了还是单线程,不能理解为多线程,应是主线程的一部分。常用于使用动画时同步代码,时间等待,资源加载,场景切换等等。协程使用yield return来中断程序,相当于把该函数后续代码挂起,但是每一帧都会对yield return的返回值条件进行检测。

在Unity中开启协程可以通过三种方法:
1.StartCoroutine(协程方法名());

2.StartCoroutine(“协程方法对应字符串”);

3.StartCoroutine(协程委托);


三、Unity中各个方法的生命周期

答:Awake ->OnEable-> Start ->  FixedUpdate-> Update  -> LateUpdate ->OnGUI ->Reset -> OnDisable ->OnDestroy

生命周期

四、什么是单例模式?

答:保证整个系统中一个类只有一个对象的实例,实现这种功能的方式就叫单例模式。要求如下:

1. 构造私有:如果要保证一个类不能多次被实例化,那么我肯定要阻止对象被new 出来,所以需要把类的所有构造方法私有化。
2.以静态方法返回实例。因为外界就不能通过new来获得对象,所以我们要通过提供类的方法来让外界获取对象实例。

3.确保对象实例只有一个。只对类进行一次实例化,以后都直接获取第一次实例化的对象。

五、什么是工厂模式?

答:工厂模式(Factory Pattern)是 最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

六、什么是观察者模式?

答:当对象间存在一对多关系时,则使用观察者模式。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。常见应用是各类UI显示中监听管理员中的数值变化来调整UI变化

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/906723.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号