Daniel于2006年开始工作,现在被同行视为高级软件工程师和Unity 3D和JavaScript专家. 在他的职业生涯中,他作为一名自由职业者,既独立工作,也与他人合作. 他过去的队友可以保证他可以快速融入跨学科团队和任何项目类型(UI/UX), front-end, 游戏开发, and so on). 丹尼尔是一个积极主动的人,喜欢应对新挑战和使用新技术.
而Unity能够轻松地将游戏部署到各个平台上, 应聘者必须在你想要的平台上发行过至少一款游戏, 因为在开发过程中,每个平台都有自己的细微差别. For example, 由于HTML5画布的安全限制,WebGL目标不支持一些库和特性.
问:这个项目是2D还是3D的?
而Unity3D最初只支持3D和带有第三方插件的2D, 它现在原生支持2D项目. 许多开发者在这两方面都有经验, 但有些人可能更倾向于这两种环境中的一种, 因为它们都有各自的技术障碍. For example, 3D开发可能需要更广泛的摄像头, lighting, textures, and models, 而2D开发可能更关注精灵, animations, and tweening.
申请人是否有使用Unity3D的经验 NetworkManager 类,或者有使用RESTful API处理自定义后端的经验? 验证申请人使用后端服务经验的一个示例问题可以是:“您如何从Unity3D访问RESTful API ??“可能的解决方案包括使用Unity WWW class, HttpWebRequest,或使用Unity3D的资源存储和下载 Best HTTP. The Best HTTP 要花钱,但在很多情况下,这是值得的 WWW 类缺少一些特性和 HttpWebRequest 不是所有平台都支持.
问:这个项目会有单人AI吗?
评估某人AI能力的范围不在本指南的讨论范围之内. However, 一个好的起点可能是问他们如何在网格上的两个方格之间导航. 解决方案应该包括它们递归地检查相邻的方块,同时跟踪它们已经访问过的位置,直到到达目的地. 接下来的问题可能是如何确保解找到最短距离. In this case, 它们将需要跟踪递归过程中行进的距离,并忽略任何超过找到的最小距离的路线.
Inheritance
在继承设置中,很可能需要三个类. 我们将调用的基类 Enemy,然后是我们将调用的两个派生类 Asteroid and AlienShip. 基类将处理两个类共享的所有功能 Asteroid and AlienShip 比如追踪生命值. 派生类将添加额外的功能. 例如,派生的 AlienShip 能处理飞船的飞行和射击功能吗.
Composition
在组合设置中,我们很可能会以相同的方式开始 Enemy 处理生命值的类. 但我没有扩展它, 我们将使用Unity的实体行为模型为其添加额外的行为(类),从而添加我们所寻求的功能. 要创建外星飞船,我们可以创建一个处理移动的类(MovementBehavior),另一个负责射击(ShootingBehavior). 然后我们将这三个类连接起来, Enemy, MovementBehavior, and ShootingBehavior to a GameObject 创造外星飞船.