AS3语法和UNITY C#语法的异同
AS3 | UNITY |
Sprite a = new Sprite(); trace(a.paent); 此时a.parent为null,还未AddChild到屏幕上, 一般用这个来判断在不在屏幕上 |
GameObject a = new GameObject(); print(a.transform.parent); 此时为null,证明和屏幕的Root元素平级, 此时已在屏幕上(在不在摄像机视野内另算) UNITY只要new出来就在屏幕上了 |
super 调用父类的方法 |
base |
Function a; 函数引用 |
Func<T> a 或 Action<T> a |
mouseEnable = false | RaycastTarget = false |
------------------------------ U3D面试题 ------------------------------
最近面的一家
给一个三角形面上的三个点,确定法线
用点积,
A-B得出矢量,A-C得出矢量,两个矢量点积一下
说出漫反射和高光公式(这些都属于经验模型)
答: 漫反射
dot(表面法线n,光照方向l)
pow(dot(表面法线n,反射方向r))光泽度
UNITY和安桌项目混合,怎么弄
导出安桌工程,安桌启动UnityPlayerActivity
说出Activity的生命周期
四元数
旋转范围 -1 - 1
旋转二周
网易杭州
主要问的几个问题,个人看来还是很基础的,不过本人好像有几个也没答到点子上
后面一些难度高的问题选择了退缩,目前看来很不智,以后要吃掉面试官~
面试的一些基础题 一定要答对,
关于介绍自已做过的项目,一定要进行事前演练,如何介绍,从哪方面着手
最近二次面试都着重问了UI问题,不知咋回事,咱也就这个重点写篇文章吧
开始:
介绍你做的XBOX移植项目
XBOX是微软推出的主机,XBOX也是一个大型的游戏平台,包括XBOX LIVE在线社交服务。
我们做的是一款麻将手游移植,分为客户端和服务端二个部分,
整个游戏改动很大,相当于重做
在开发过程中,根据微软在XBOX上面的开发规定,必须使用WEB SOCKET,
而原来的游戏使用的是传统TCP SOCKET,
再就是画面使用高质量1920X1080的图片,加上手柄处理和手游的手势,还有帐号登录规则完全不一样
我做的ASP.NET单点登录SSO服务器,编写REST FUL接口,供客户端调用
同时和XBOX LIVE服务器进行交互,获取用户信息,以JSON格式返回给客户端,
这一块用到的包括必须是HTTPS,接口必须REST FUL风格,
在客户端我这一块做的是MatchMaking,先到XBOX LIVE后台配置数据模板JSON,
然后去客户端创建LOBBY SESSION后,再创建GAME SESSION
然后提交给XBOX LIVE,还有以及QOS之类的流程
比较难的地方在于开发资料较为封闭,只能通过阅读英文文档来解决问题,
所以我们这个阅读了大量的英文文档,主要是XDK。
XDK每6个月会更新一次,UNITY的更新会在2个月后更新,我们只有在4个月的时间内通过审核,
,所以开发必须要跟得上微软的步伐
这个项目开发了一年半
介绍你的HOLO博物馆藏书系统
主要是对空间扫描和空间锚点的应用
框架方面用的是多场景加载,.unity场景加载用的是一个异步方法 SceneManager.LoadSceneAsync
这个框架在场景浏览中,可以向前,也可以后退,只要输入场景名字就可以了
因为是框架,因此对场景的命名有一定的规定
在展柜中虚拟出各种书,并且可以弹出视频介绍
这个项目开发了三个月
1.UNITY中协程的理解,和线程的区别
区别?效率吧,没有线程的切换
我的理解协程就是一个timer或setTimeOut,它是相当于模拟一个线程,但它不是线程
线程有上下文切换,会有性能上的开销,并且在工作线程中是访问不了UI线程中的用户控件的,
协程则没有这个限制,协程很好的解决了多线程的复杂性和性能上的问题,(线程对共享资源的
访问还要加锁)
当然答案重点应该是效率
coroutine的实现原理
http://gad.qq.com/article/detail/695
2.委托和事件的区别
区别?有啥区别,委托也是事件嘛
事件就是函数调用解藕,一种设计思路
这道题应该答对 了
3.UNITY程序资源热更新?
AssetBundle,它相当于FLEX中的MOUDLE概念,是大型程序中使用的模块概念,
是对资源,脚本的一种整合打包
4.WWW必须要用到什么
能用到啥?判断加载完了就行了呗,是个异步
要启一个协程去加载
资源放Resource文件夹里
5.说说代码驱动和数据驱动
数据就是大数据啦,大数据分析决策,这个是重点
6.说说UNITY NGUI和UGUI的区别
7.UI代码网上不是有现成的么?
恩,可以用,有的只能做参考,有的是收费的哦
但某些UI有的会在性能方面造成影响
举例子,比如说玩家人物头上的血条
如果用遮罩动画实现的话,效果很棒,美术弄起来很方便,程序直接用就可以了,但是几十个玩家在屏幕上,就卡了
这种实现方式在大型游戏里面就没有义,所以我是选择了拉伸血条的SCALE+重设坐标实现的,性能很OK,效果稍差但经过一些调整,项目总监可以接受
再比如说玩家头上的聊天框,涉及一个图文混排,那么我采用的新的文字引擎系统,速度比原来快十几倍,网上那些都是在新文字引擎没
出来之前的解决方案,使用的话,虽然效果可以达到 ,但是很占用CPU,
8.说说页游戏的A星寻路算法
就是一个估价函数,
可以预先在地图上提高格子的权值,
或一次搜索到一半(一定数量)即可开始移动
AS3语法和UNITY C#语法的异同的更多相关文章
- Webstorm添加新建.vue文件功能并支持高亮vue语法和es6语法
转载:https://blog.csdn.net/qq_33008701/article/details/56486893 Webstorm 添加新建.vue文件功能并支持高亮vue语法和es6语法 ...
- [golang] go的typeswitch guard(类型区别)语法和type assertion(类型断言)语法
最近在实现golang,看到个go的特性语法: typeswitch guard. typeswitch guard语法如下: package main import "fmt" ...
- Webstorm 添加新建.vue文件功能并支持高亮vue语法和es6语法
添加新建.vue文件功能 ①Webstorm 右上角File-Plugins 搜索vue如果没有就去下载 点击serch in repositories ②点击安装vue.js ③安装成功后点击右下角 ...
- ToText Basic 语法和 Crystal 语法
本文转自http://www.softwelt.com/Know/KnowDetail-2236860.html ToText 和 CStr 是等价函数. 重载 ToText (x) ToText ( ...
- OC第五节 ——点语法和@property
一.setter和getter函数 1.回忆:如何访问对象中的成员变量 2.setter和getter函数的作用 setter 方法: 修改对象的字段/实例变 ...
- Markdown 语法和 MWeb 写作使用说明
---恢复内容开始--- # Markdown 语法和 MWeb 写作使用说明 Markdown 的设计哲学 Markdown 的目標是實現「易讀易寫」. 不過最需要強調的便是它的可讀性.一份使用 M ...
- Markdown语法和MWeb使用说明
Markdown 语法和 MWeb 写作使用说明 开始写博客,首先熟悉一下Markdown,以前过看GitHub里的README.MD,感受到了这种文字排版的简洁美观. 写博客是一种有效的学习总结和分 ...
- iOS开发-OC语言 (六)点语法和@property
点语法和@property 知识点 1.setter/getter函数 2.点语法 3.@property语法和属性 ======================================== ...
- laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)
laravel基础课程---9.视图(lavarel的模板语法和tp相比怎样) 一.总结 一句话总结: lavarel的模板语法比thinkphp好用很多:和html代码配合的更好 lavarel比t ...
随机推荐
- java 通过jmx获取active mq队列消息
一.修改active mq配置文件 修改\conf\activemq.xml,带下划线部分 <!-- Licensed to the Apache Software Foundation (AS ...
- Linux 的文件软链接如何删除
Linux 的文件软链接如何删除创建软链接即用 ln -s 原始文件或文件夹 目标文件或文件夹 举例:[root@recover test]# pwd/test[root@recover test]# ...
- selenium常用的API
打开浏览器 driver.get("http://www.baidu.com") 最大化浏览器 driver.maximize_window() 关闭浏览器 driver.quit ...
- 二、Python发展始
1989年的圣诞节,Guido开始编写Python语言的编译器.Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus.他希望这个新的叫做Pytho ...
- html5编写软件哪个好?八款html5编写软件推荐
随着各大浏览器对HTML5技术支持的不断完善,未来HTML5必将改变我们创建Web应用程序的方式.而很多html5的初学者都想找一款好用的编写软件,这里主机吧就给大家推荐七款好用的html5编写软件. ...
- 嵌入式 printf函数
来自:https://www.cnblogs.com/02xiaoma/archive/2012/06/22/2558618.html #include <stdio.h> #includ ...
- Class.forName的作用?为什么要用?
答:按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载过,则返回代表该字节码的Class实例对象,否则,按类加载器的委托机制去搜索和加载该类,如果所有的类加载器都无法加载到该 ...
- WPF xml配置文件里面的大于小于号转义
转义字符:<![CDATA[]]>,将要转义的字符放到中括号中,比如要转小于号:<,则换为<![CDATA[<]]> <?xml version=" ...
- mysql 多实例安装
mysql的四种启动方式: 1.mysqld启动mysql服务器:./mysqld --defaults-file=/etc/my.cnf --user=root客户端连接:mysql --defau ...
- oracle入坑日记<三>用户详解(角色理解)
1 用户是什么 1.1.权限管理是Oracle的精华,不同用户登录到同一数据库中,可能看到不同数量的表,拥有不同的权限.Oracle 的权限分为系统权限和数据对象权限,共一百多种.如果把Oracl ...