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 ...
随机推荐
- Glide 加载部分圆角图片
在App开放中经常遇到设置ImageView为部分圆角的情况,但是Glide又没有提供这个方法,该怎么办呢?直接上代码! /** * @author csc * @date 2019-01-18 ...
- c# datatable按主键合并相同主键返回新的datatable
一.概述: 在python转c#时,python中pandas.merge可以按主键合并两个datatable,苦苦找了很久,希望c#也有同样的函数,未果,就自己写了一个,目前测试没问题,同样我也考虑 ...
- Unity 缓冲池概念
在Unity 中碰到一些重复使用的游戏物体时,我们可以使用缓冲池来进行操作,即重复利用
- C#,ASP.NET简单的MD5加密,解密
简单的MD5加密 首先要有一个加解密的规则 就是key 代码如下 // 创建Key public string GenerateKey() { DESCryptoServiceProvider de ...
- ef6.0+mysql配合使用的问题
折腾了很久由于所用到的各种库版本问题:后来终于组合成了一个可用的:记录下各种库的版本 ef6.0 mysql5.5 mysql-connector-net-6.9.12.msi mysql-for-v ...
- 第十二章 Java内存模型与线程
Java内存模型(Java Memory Model,JMM): 主内存与工作内存:Java内存模型主要是定义程序中各个变量的访问规则.Java内存模型规定了所有的变量都存储在主内存(Main Mem ...
- start to use await
import { browser, $, $$, by, element, protractor } from "protractor"; //import { SearchPag ...
- 装python package 时,conda提示会升级python2到python3,那可能是你的windows不支持py2env下的此包。
装python package 时,conda提示会升级python2到python3, 那可能是你的windows不支持py2env下的此包.比如:win 下,tensorflow就不支持py2的环 ...
- go 0000
1,函数不能比较 函数默认都是值传递, 除了 map 值, slice (切片) channel (管道) interface 默认以这4个默认 引用传递 两个 defer ...
- 使用 nodeJs 开发微信公众号(上传图片)
在给用户发送消息中涉及到的素材(图片.视频.音频.文章等)需要事先传到微信服务器,然后获得媒体id(media_id),然后把 media_id 传递给用户 上传分上传临时素材(只保存三天)和上传永久 ...