unity3d面试题与参考答案
1、C#程序题
|
1
2
3
4
5
6
7
8
9
10
11
|
private static void aaa(int x) { x = 10; }private static void bbb(ref int x) { x = 10; }static void Main(string[] args){ int x = 0; aaa(x); //现在x的值是:___ bbb(ref x); //现在x的值是:___} |
答案:0,,10。
详细解答:一个是复制一份值过去,一个是把地址传过去
2、英文翻译题(把下面文字翻译成中文)
Transform.LocalPosition
var localPosition:Vector3;
Description:
Position of the transform relative to the parent transform.
If the transform has no parent,it is the same as Transform.position.
Note that the parent transform's world rotation and scale are applied to the local position when calculating the world position.This means that while 1 unit in Transform.position is always 1 unit in transform.localPosition will get scaled by the scale of all ancestors.
描述:
相对于父级的变换的位置。
如果该变换没有父级,那么等同于Transform.position。
注意当计算世界的位置时,父级变换的世界旋转和缩放被应用到自身的位置。意思是说Transform.position的1个单位是1个单位,Transform.localPosition的1个单位将由所有祖先的缩放获得缩放,简单来所自身位置的1单位将受它所有上级的缩放影响。
详细解答:文章来自于《unity圣典》,参考http://game.ceeger.com/Script/Transform/Transform.localPosition.html
3、U3D提供了一个用于保存读取数据的类,(playerprefs),请列出保存读取整形数据的函数。
答案:PlayerPrefs.SetInt();
详细解答:
PlayerPrefs类可保存与读取3种基本的数据类型,它们是浮点型、整形和字符串型,涉及的方法如下:
SetFloat();保存浮点类型
SetInt();保存整形
SetString();保存字符串型
GetFloat();获取浮点类型
GetInt();获取整形
GetString();获取字符串
4、请简述向量点乘的含义:
向量u点乘向量v;u的长度与v在u上的投影长度的乘积,它是一个标量,而且可正可负。
物理意义:叉乘 点乘,也叫向量的内积、数量积。顾名思义,求下来的结果是一个数。 向量a·向量b=|a||b|cos<a,b> 在物理学中,已知力与位移求功,实际上就是求向量F与向量s的内积,即要用点乘。 叉乘,也叫向量的外积、向量积。顾名思义,求下来的结果是一个向量,记这个向量为c。 |向量c|=|向量a×向量b|=|a||b|sin<a,b> 向量c的方向与a,b所在的平面垂直,且方向要用“右手法则”判断(用右手的四指先表示向量a的方向,然后手指朝着手心的方向摆动到向量b的方向,大拇指所指的方向就是向量c的方向)。 因此 向量的外积不遵守乘法交换率,因为 向量a×向量b=-向量b×向量a 在物理学中,已知力与力臂求力矩,就是向量的外积,即叉乘。 将向量用坐标表示(三维向量), 若向量a=(a1,b1,c1),向量b=(a2,b2,c2), 则 向量a·向量b=a1a2+b1b2+c1c2 向量a×向量b= | i j k| |a1 b1 c1| |a2 b2 c2| =(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1) (i、j、k分别为空间中相互垂直的三条坐标轴的单位向量)。
参考:
http://hi.baidu.com/cly84920/item/7bc79fdf97ff4f91260ae733
http://wenku.baidu.com/link?url=9Nq1MttA0DqgPgYWYIix7hpqUTDv8ifyq4xK09LtzaWpLNxYpnsjhqU1kWS5Tg4ZiLPTAJsqCB4U3Ka_4L4lL1oKfb1yTXSHck6DX1QRrdO
5、物体发生碰撞的必要条件是什么。
答案:两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。
6、程序题:aaa()函数的意义,以及test()执行以后在控制台输出什么?
public delegate void DoHurt();
protected DoHurt hurtCall;
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<br>public void aaa(DoHurt call){this.hurtCall=(DoHurt)Delegate.Combine(this.hurtCall,call);}public void myHurt001(){Debug.log("调用1");}public void myhurt002(int a,int b){Debug.Log("调用2");}public void test(){this.aaa(myHurt001);this.aaa(myHurt002);this.hurtCall();} |
答案:貌似this.aaa(myHurt002)会报错。
详细解答:如果hurtCall为null,call不为null时,hurtCall这个委托变量就指向call指向的方法,如果hurtCall不为null,call为null时,hurtCall这个委托变量就指向hurtCall指向的方法。aaa方法的参数为一个无参的委托变量,这里面指向了myHurt002,而myHurt002是一个有参数的方法。这道题欢迎探讨。
7、游戏对象B是游戏对象A的子物体,游戏对象A经过了旋转,请写出游戏对象B围绕自身的Y轴进行旋转的脚本语句,以及游戏对象B围绕世界坐标的Y轴旋转的脚本语句。
对象B围绕自身的Y轴进行旋转:B.transform.Rotate(Vector.up);
对象B围绕世界坐标的Y轴旋转:B.transform.RotateAround(Vector.up);
详细解答:transform.Rotate();用于设置模型自身旋转;transform.RotateAround();用于设置模型围绕某一个点旋转。
Vector.right:X轴方向;
Vector.up:Y轴方向;
Vector.forward:Z轴方向。
8、已知三维空间中的A、B两个点的坐标,请写出在X-Z平面上, 两个之间的距离的计算函数。
其实就是求A、B两个点在XOZ平面上的投影的距离。投影以后,Y坐标等于0,X、Z不变,AB投影的距离就是两个X坐标和两个Z坐标的差的平方的和,再开方。
9、假设一个只能火力点,它将攻击任何出现在其正前方30度内的、距离在10米之内的敌人,请为其书写开火判断AI脚本。
AI不熟悉,在研究中...
unity3d面试题与参考答案的更多相关文章
- 分享我的2014年3月unity3d面试题与参考答案
今年3月份面试unity3d游戏程序,先做的面试题,然后人事问了我几个之前游戏开发的问题,问我英语怎么样等等,介绍了公司情况和对unity3d程序的要求.之后就回来了,总共面了不到1个半小时吧.笔试答 ...
- 非常全的linux面试笔试题及参考答案
一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点来标识 ...
- unity3d最新面试题与参考答案汇总
1.在类的构造函数前加上static会报什么错?为什么? 构造函数格式为 public+类名,如果加上static会报错(静态构造函数不能有访问修饰符)原因:静态构造函数不允许访问修饰符,也不接受任何 ...
- 315道python面试题(参考答案)
第一部分 Python基础篇 1:为什么学习Python 家里有在这个IT圈子里面,也想让我接触这个圈子,然后给我建议学的Python, 然后自己通过百度和向有学过Python的同学了解了Python ...
- 2020非常全的软件测试linux常用命令全集,linux面试题及参考答案
一.前言: 作为一名软件测试工程师,我相信大部分的人都和Linux打过交道,因为我们的服务器一般都是装的Linux操作系统,包括各种云服务器也都是用的Linux,目前主流是CentOS7,那么对于一个 ...
- .net软件工程师面试题(参考答案)
一.填空题(每空1分,共12分) 1面向对象的语言具有__封装______性.__继承_______性.__多态______性. 2能用foreach遍历访问的对象需要实现 ____Ienumerab ...
- C++经典笔试题及参考答案-趋势科技
1.static有什么用途?(请至少说明两种) 答案:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数 ...
- 雅虎公司C#笔试题及参考答案
Question 1. (单选) 在计算机网络中,表征数据传输可靠性的指标是——21. 传输率2. 误码率3. 信息容量4. 频带利用率Question 2. (单选) 以下关于链式存储结构的叙述中哪 ...
- java工程师基础笔试题(一)-参考答案
一.选择和填空 (不定项哦!) 1,如下是一份文件名为Test2.java的源文件,请问,编译该文件之后会生成几份字节码文件 class Test{ class Inner{} static cla ...
随机推荐
- javascript(JQuery)元素操作
html代码如下: <div id="picK"> <ul> <li style="float:left;width:90px;" ...
- Makefile的制作
一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中,makefile定义系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因 ...
- sqoop操作与使用
sqoop只要安装到集群中的一台节点就可以了 1.上传sqoop到节点中 2.安装和配置 在添加sqoop到环境变量到/etc/profile中 将数据库连接驱动拷贝到$SQOOP_HOME/lib里 ...
- Solr删除数据
步骤: 1.在Solr客户端左下方 Core Selector 中点选想要删除数据的索引库 2.点选Documents 3.右侧Document Type中点选XML 4.Document(s)中输入 ...
- 【后台管理系统】—— Ant Design Pro入门学习&项目实践笔记(三)
前言:前一篇记录了[后台管理系统]目前进展开发中遇到的一些应用点,这一篇会梳理一些自己学习Ant Design Pro源码的功能点.附:Ant Design Pro 在线预览地址. Dashboard ...
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-TwinCAT自带的找原点功能块MC_Home怎么用
对于相对编码器类型轴(包括虚拟轴),可以使用贝福提供的找原点功能块MC_Home. HomingMode是指机器在往前跑的时候(30单位/s的默认速度),当碰到阻挡,则会有一个布尔值从FALSE改 ...
- unity web项目发布服务器Data file is corrupt (not a Unity W
楼上问题需要在iis 中配置MIME 加一个 .unity3d MIME类型:application/octet-stream http://www.cnblogs.com/123ing/p/3913 ...
- mui.ajax返回type为abort
最近在使用h5和mui开发app,发现mui.ajax有一个小bug 情况一: 参数和请求路径无误,但是总是调起失败的回调函数,打印出 type=abort (终止请求) 原因: mui.ajax默认 ...
- HDU 3917 Road constructions(最小割---最大权闭合)
题目地址:HDU 3917 这题简直神题意... 题目本身就非常难看懂不说..即使看懂了.也对这题意的逻辑感到无语...无论了.. 就依照那题意上说的做吧... 题意:给你n个城市,m个公司.若干条可 ...
- C语言-srand种子详解
rand() 函数取得随机数的时候是通过一个叫做"种子"的变量经过计算得出一个数值, 然后得出的数值再作为新的"种子"参与下一次的运算, 这样就得到了所谓的随机 ...