unity3D用什么语言开发好?

一、总结

一句话总结:选c#

同时U3D团队也会把支持的重心转移到C#,也就是说文档和示例以及社区支持的重心都在C#,C#的文档会是最完善的,C#的代码实例会是最详细的,社区内用C#讨论的人数会是最多的。

1、unity3d中常用的开发语言有哪些?

c#

UlityScript

2、为什么ulity3d中c#速度比UnityScript快?

装箱拆箱

C#的速度更快,但原因是UnityScript会涉及到频繁的装箱拆箱操作,进而生成的CIL代码与C#有差异,而并非UnityScript是动态语言且没有经过编译。

3、CIL是什么?

通用中间语言

通用中间语言(Common Intermediate Language,简称CIL)(曾经被称为微软中间语言或MSIL)是一种属于通用语言架构和.NET框架的低阶(lowest-level)的人类可读的编程语言。目标为.NET 框架的语言被编译成CIL,然后汇编成字节码。CIL类似一个面向对象的汇编语言,并且它是完全基于堆栈的。它运行在虚拟机上,其主要的语言有C#、Visual Basic .NET、C++/CLI以及 J#。由于C#和通用语言架构的标准化,字节码现在已经官方地成为了CIL。

4、UnityScript和JavaScript的关系式什么?

长得像

UnityScript和JavaScript除了长得像之外,根本就没有什么关系。你在JavaScript里如鱼得水,在UnityScript中如果不小心就可能埋下隐患,而一些隐患可能藏得很深。而且UnityScript也是静态语言,也需要编译,所以看不出来选择它作为开发语言为什么会有人觉得快。

二、内容在总结中

很有意思的问题.

来看看网络大拿们所做的总结.

当然结果需要您自行考虑.

首先,下文摘录自InfoQ

到底C#和Unity3D里的JS谁好呢?

最常见的问题无非是: 用js写的u3d游戏和用c#写的u3d游戏,到底谁的运行效率高啊?

最常见的回答为非是: 肯定是C#啊,因为js是动态的。肯定不如编译的语言好。

第二常见的问题无非是: 用js开发和用c#开发,哪个更快更适合我啊?

第二常见的回答无非是: js适合个人开发,敏捷快速。c#适合公司开发,规范严谨。

咱们还是用和刚才讨论与javascript的区别时一样的思路来整理C#和UnityScript的不同,也就是按照先本质,再表现的顺序。同时兼顾回答一下上面的两个问题。

本质求同存异

开篇就说了,UnityScript是和C#同一个层面的语言,也需要经历从源代码到CIL中间语言过渡,最终到编译成原生语言的过程。所以本质上,最终运行的都是从CIL编译而来的原生机器语言。但的确会有C#比较快的现象,那么问题出在哪呢?

一个可能但不是唯一的答案就是 UnityScript和C#生成CIL中间语言不同。

这一点想想也很简单,就像上文提到的var的问题,如果使用Object来处理var的问题,则不可避免的是频繁的装箱拆箱的操作,这对效率的影响是很大的。

所以的确,C#的速度更快,但原因是UnityScript会涉及到频繁的装箱拆箱操作,进而生成的CIL代码与C#有差异,而并非UnityScript是动态语言且没有经过编译。

现实很单纯

开发到底是使用C#还是UnityScript呢?如果不考虑运行的效率,仅仅考虑开发时候的感受,小匹夫就谈谈自己的看法好啦——那就是珍惜时间,远离UnityScript。

首先有几个事实我们要清楚:

UnityScript是脱胎于.NET平台的第三方语言Boo的。所谓的第三方语言和C#的区别,就跟自己到底是不是亲生的,爹到底是不是隔壁老王是一样的。差距可能是全方位,立体式的。社区支持,代码维护,甚至是编译出来的CIL代码质量都可能有很大的差距。选择UnityScript之前,问问自己之前听说过Boo吗?别忘了UnityScript和Boo的渊源。

UnityScript和JavaScript除了长得像之外,根本就没有什么关系。你在JavaScript里如鱼得水,在UnityScript中如果不小心就可能埋下隐患,而一些隐患可能藏得很深。而且UnityScript也是静态语言,也需要编译,所以看不出来选择它作为开发语言为什么会有人觉得快。

插件的支持。貌似大多数都是C#写的吧。

好吧,如果上面的3点都不能说动你,那就看看官方的态度好了。

U3D官方团队基于数据分析做出的一个语言被使用的百分比图。

由于Boo语言的使用量基本可以忽略,所以从Unity5.0版本开始就会停止对Boo的文档支持。同时消失的还有从菜单创建Boo脚本的选项“Create Boo Script”。从U3D团队对Boo的态度,也可以窥见和Boo联系密切的UnityScript未来的走势。

同时U3D团队也会把支持的重心转移到C#,也就是说文档和示例以及社区支持的重心都在C#,C#的文档会是最完善的,C#的代码实例会是最详细的,社区内用C#讨论的人数会是最多的。

感谢INFOQ提供的原文支持.

告诉你吧,大公司基本都用C#,所以你也不用想太多,直接C# 吧,至于语言,没有好坏之分,就看哪个适合自己的风格。其实,时间长了你会发现,两种真的差不多,根本不用纠结这个,没啥区别,一看都能懂。 另外,新手的话可以 搜一下 unity3D学院,去这个论坛看看,有不少好的资源可以学习借鉴。还是很不错的。纯手写,望采纳!

参考:unity3D用什么语言开发好?_百度知道

https://zhidao.baidu.com/question/561548710.html

三、Unity3D用什么语言开发好?用什么开发工具?

对于Unity相信很多人多不陌生,用一句话来描述就是:Unity是游戏引擎、游戏开发工具。支持的维度3D,2D,可以进行3D,2D游戏开发。对编程有所认知的朋友,大概会说“你问Unity是干什么?开发游戏一个开发工具”。在程序员的工作生涯中,开发工具使用最为常见,因为针对不同的编程语言使用不同的开发工具是有所差异的,需要安想装不同的开发环境,如最近很火的小程序需要用微信web开发者工具,VS是开发C#常用的工具。那么,作为开发工具Unity3D支持什么语言?下面就让我们收集一下信息,一起来了解一下Unity3D用什么语言开发好?

Unity百科里关于编程语言写的是C#和JS两种语言?对于不是计算机专业的朋友,可能对两个语言很陌生。简单的接受一下两种语言的运用情况吧!

JS是一个脚本语言,全称是JavaScript,请注意它不是Java,两个不是一个东西,不要弄混!目前运用最多的方面就是前段开发,可以做一些也没交互,最为简单就是用js实现鼠标点击事件。

C#是微软公司的开发的,我最早接触net开发采用的语言就是C#,支持C#开发的最广泛的软件就是VS(Microsoft

Visual Studio,安装包很大),个人的看法:C#在语言逻辑、安全等方面比JS更具有限。

从市场上Unity开发语言的选择中,C#备受企业青睐!为了能向企业输送对口人才!蓝鸥Unity3D用C#语言开发!

上面我提了一下VS安装包比较大,相对于Unity自带的mono软件(用来写脚本的软件)更便捷。为了方便安装,蓝鸥Unity3D开发脚本使用mono软件进行编写。

关于蓝鸥Unity3D用什么语言开发好就简单介绍到这里,欢迎大家留意一起交流!

参考:Unity3D用什么语言开发好?用什么开发工具? - 蓝鸥_嘟嘟加油中的博客 - CSDN博客

https://blog.csdn.net/qq_36703442/article/details/54377015

0 Links

unity全栈开发是什么意思_unity3D用什么语言开发好?相关推荐

  1. 我的全栈之路-Python基础之Python概述与开发环境搭建

    我的全栈之路-Python基础之Python概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2. ...

  2. unity全栈开发是什么意思_为什么你应该尝试“全栈”

    程序员看到"全栈"这个概念,大概会有两种反应 1. 卧槽,这个好,碉堡了 2. 你懂毛,全栈就是样样稀松 以上两种反应其实都有失偏颇.因为即使只学一门技术,水平很菜的人也多的是,而 ...

  3. unity全栈开发是什么意思_为什么你要去尝试全栈开发?

    程序员看到"全栈"这个概念,大概会有两种反应 1. 卧槽,这个好,碉堡了 2. 你懂毛,全栈就是样样稀松 以上两种反应其实都有失偏颇.因为即使只学一门技术,水平很菜的人也多的是,而 ...

  4. unity全栈开发是什么意思_unity游戏公司面试问题总结

    面试大计切勿怕你说的面试官听不懂就重复解释,一定要言简意赅的回答. C#篇 一.请简述ArrayList和List的主要区别? ArrayList就是一个List<Object>而已,泛型 ...

  5. unity全栈开发是什么意思_前端所谓的全栈和大前端有什么区别?

    没什么区别. 打个比方: 前端所谓的"全栈":街上有个人过来拍拍你的肩膀,等你转过来:"我是你爸爸!" 前端所谓的"大前端":街上有个人过来 ...

  6. PythonStock(38)全栈股票系统:Python全栈股票系统,使用vue进行前端界面开发,修改接口可以展示股票数据,持续开发中。

    目录 前言 0,关于Python全栈股票系统2.0,github,5.8K星星 1,Python全栈股票系统,更改使用elementUI开发 2,使用vue-element-admin,进行开发 3, ...

  7. element ui 图片控件 排序_JAVA全栈面试前端基础之四 Vue+Element框架快速开发

    本文主要包括以下4个内容 什么是ElementUI Vue 中引入ElementUI Vue+elementUI构建后台管理系统 开源项目推荐 1.什么是ElementUI 官网:https://el ...

  8. php开发的app商城,如何利用PHP语言开发手机APP

    如何利用PHP语言开发手机APP 一般的PHP框架都可以用来做app后台服务器.因为原理上客户端从你这边拿的都是字符串数据,所以就算你不用框架也没有问题,不过会引发后续的问题.PHP提供API给客户端 ...

  9. php开发安卓应用程序,如何利用PHP语言开发手机APP

    一般的PHP框架都可以用来做app后台服务器.因为原理上客户端从你这边拿的都是字符串数据,所以就算你不用框架也没有问题,不过会引发后续的问题.PHP提供API给客户端就好了,API描述方式有很多种:R ...

  10. P2【商业级MMORPG大型网游】Unity全栈开发 笔记

    入门unity开发笔记 已报名,见评论.刚刚开始学习unity3d,今天我将开发我的第一个项目.一是项目的规划. 1. 游戏玩法是一种冒险玩法,类似于<马里奥>,但它是基于3D视角开发的. ...

最新文章

  1. linux windows 编译安装,Windows下编译安装OpenEXR(x86版本)
  2. python 之模块之 xml.dom.minidom解析xml
  3. moment 时间格式化
  4. 27行代码AC_迷宫 2017年第八届蓝桥杯A组第一题(暴力、仿迷宫)
  5. Linux——grep文本搜索命令
  6. [Ext JS 4] 实战之Grid, Tree Gird 动态添加列
  7. 2016022604 - redis命令介绍
  8. 详解Parcel:快速,零配置web应用打包工具
  9. 简单ajax跨域请求
  10. 计算机管理的事件id,事件查看器7035是什么意思_windows事件查看器常见ID代码含义详解...
  11. 六键无冲和全键无冲哪个好_键盘冷知识:全键无冲到底是什么?
  12. Oracle11g64位安装步骤
  13. 上海航芯 | 全自动咖啡机设计方案
  14. not executable: 64-bit ELF file 已解决
  15. 英文事件抽取论文整理
  16. 智能小区安防子系统实现
  17. 生日悖论分析基于python
  18. Android6.0boot解锁,Lenovo手机fastboot命令 解锁Bootloade 教程
  19. J2EE平台WEB组件开发中如何使用定制标签
  20. dxwebsetup 解决一些dll缺少的问题

热门文章

  1. win10 隐藏图标
  2. OA审批流程是什么?如何提升OA审批流程效率?
  3. 计算机c盘如何扩容,C盘空间不足怎么办?4种方法获得更多空间!
  4. Codeforces Round #685 (Div. 2) (D(博弈) E1 E2(交互))
  5. 2015-4-11 美术馆 红楼 景山 香山 西单
  6. 大麦网滑块验证码自动识别
  7. 将linux操作系统迁移到另一个固态硬盘上
  8. 区块链+边缘计算应用研究与探讨
  9. PKUWC2019 总结
  10. flvjs is not defined