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<JS OR C# 不存在的脚本之争>

到底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

unity3D用什么语言开发好?的更多相关文章

  1. Go语言开发

    Go语言圣经(中文版)     Go编程语言规范 搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇           Go开发工具 Go命令行操作命令详细介绍 ...

  2. Go语言开发第一个Hello,World

    在网上看到go语言的各种评价,也是闻名已久,但是没有自己实践过,也不知道它的好,它的坏,今天就来试试第一个小程序 第一步.如何下载 1)下载go安装程序 下载地址:https://golang.org ...

  3. Go语言开发环境配置

    一.我为什么要学习go语言 当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单.高效.内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的).到2014 ...

  4. OAF_开发系列02_实现OAF页面的通过个性化多语言开发国际化(案例)

    2014-06-10 Created By BaoXinjian

  5. 分享:写了一个 java 调用 C语言 开发的动态库的范例

    分享:写了一个 java 调用 C语言 开发的动态库的范例 cfunction.h   代码#pragma once#ifdef __cplusplusextern "C" {#e ...

  6. windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境

    windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境   http://rongmayisheng.com/post/windows%E4%B8%8B%E7%94%A ...

  7. 利用Scala语言开发Spark应用程序

    Spark内核是由Scala语言开发的,因此使用Scala语言开发Spark应用程序是自然而然的事情.如果你对Scala语言还不太熟悉,可 以阅读网络教程A Scala Tutorial for Ja ...

  8. PyCharm/IntelliJ IDEA Golang开发环境搭建(最方便快捷的GO语言开发环境)

    IntelliJ太牛了.为了配置Go语言开发环境,折腾了半天,下IDE(Sublime Text,IntelliJ Idea),然后装Go插件.装Go插件还要下载插件项目源码,编译等等,Sublime ...

  9. 「C语言」Windows+EclipseCDT下的C语言开发环境准备

    之前写过一篇 「C语言」在Windows平台搭建C语言开发环境的多种方式 ,讨论了如何在Windows下用DEV C++.EclipseCDT.VisualStudio.Sublime Test.Cl ...

随机推荐

  1. thinkphp curd的事务回滚 一看就会

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qq1355541448/article/details/32314403     /**       ...

  2. C#建WindowForm调用R可视化

    众所周知R软件功能非常强大,可以很好的进行各类统计,并能输出图形.下面介绍一种R语言和C#进行通信的方法,并将R绘图结果显示到WinForm UI界面上的方法,文中介绍的很详细,需要的朋友可以参考下. ...

  3. abap 中modify 的使用

    1.modify table itab from wa Transporting f1 f2 ... 表示表itab中符合工作区wa 中关键字的一条数据的 f1 f2字段会被wa中对应的字段值更新. ...

  4. 七、Mosquito 集群搭建

    本章主要讲述Mosquitto 集群搭建的两种方式 1.进行双服务器搭建 2.进行多服务器搭建 一.Mosquitto的分布式集群部署 如果需要做并发量很大的时候就需要考虑做集群处理,但是我在查找资料 ...

  5. POJ1185:炮兵阵地(状压dp)

    题目:http://poj.org/problem?id=1185 大神的题解: 方法就是用DP[i][r][p]表示第i行状态为r,第i-1行状态是p时的最多个数.而这里p受到r的限制,而第i-2行 ...

  6. HDU3123:GCC(同余模简单题)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=3123 题意很简单,就是同余模的简单应用. 代码如下: #include <iostream> ...

  7. PAT 1118 Birds in Forest [一般]

    1118 Birds in Forest (25 分) Some scientists took pictures of thousands of birds in a forest. Assume ...

  8. Linux下多个.c文件的编译和Makefile文件

    在编程的时候,我们可以把一个完整程序的每个函数分离出来,写成.c文件,最后再一起编译和链接.这样有利于程序功能模块化,也方便检查代码错误. .h文件:里面编辑该程序需要引用的头文件. #ifndef  ...

  9. Multiple encodings set for module chunk explatform "GBK" will be used by compiler

    项目用idea启动的时候,突然报了个这个 Multiple encodings set for module explatform "GBK" will be used by co ...

  10. 斐讯面试记录—阻塞Socket和非阻塞Socket

    文章出自:http://blog.csdn.net/VCSockets/ 1.TCP中的阻塞Socket和非阻塞Socket 阻塞与非阻塞是对一个文件描述符指定的文件或设备的两种工作方式. 阻塞的意思 ...