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 
   

 

 

 

 

------------------------------ 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星寻路算法

就是一个估价函数,

可以预先在地图上提高格子的权值,

或一次搜索到一半(一定数量)即可开始移动

本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/p/6204519.html如需转载请自行联系原作者


jiahuafu

相关文章
|
6月前
|
存储 开发框架 .NET
【C#】C# 基础语法与游戏开发
【1月更文挑战第21天】【C#】C# 基础语法与游戏开发
|
6月前
|
C#
C#的基本语法结构学习
【5月更文挑战第17天】C#基础语法包括变量(如`int x = 10`)、常量(`const int MAX_VALUE = 100`)、运算符(如算术和比较运算符)、控制语句(if、for、while等)和函数声明(`int Add(int x, int y) { return x + y; }`)。这些构成C#程序的基本元素。
75 0
|
3月前
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
74 0
|
3月前
|
存储 C# 索引
C# 集合语法全解
C# 集合语法全解
29 0
|
3月前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
|
5月前
|
C# 图形学 C++
使用vscode开发C#+unity没有代码提示问题
使用vscode开发C#+unity没有代码提示问题
76 0
使用vscode开发C#+unity没有代码提示问题
|
5月前
|
JavaScript 前端开发 C#
初识Unity——创建代码、场景以及五个常用面板(创建C#代码、打开代码文件、场景的创建、Project、Hierarchy、Inspector、Scene、Game )
初识Unity——创建代码、场景以及五个常用面板(创建C#代码、打开代码文件、场景的创建、Project、Hierarchy、Inspector、Scene、Game )
273 0
|
6月前
|
图形学
【Unity C#_菜单Window开发系列_Inspector Component UnityEditor开发】
【Unity C#_菜单Window开发系列_Inspector Component UnityEditor开发】
|
6月前
|
开发框架 安全 .NET
C# .NET面试系列一:基础语法
<h2>基础语法 #### 1. 字符串中 string str = null 和 string str = "" 和 string str = string.Empty 的区别? string str=null: ```c# 这表示字符串变量str被初始化为null,即它不引用任何对象。这与空字符串是不同的,因为空字符串是一个具有零长度的字符串对象,不会分配内存空间 ``` string.Empty: ```c# 这表示字符串变量str被初始化为空字符串,即一个具有零长度的字符串对象。这与null是不同的,因为str引用了一个空字符串对象 ``` string str="" :
120 1
|
6月前
|
C#
C#语法快速热身
C#语法快速热身
下一篇
无影云桌面