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. 读取xml文件,写入excel

    在上一篇 Python写xml文件已经将所有订单写入xml文件,这一篇我们把xml文件中的内容读出来,写入excel文件. 输入xml格式: <?xml version="1.0&qu ...

  2. des/3des

    一.python 1. des3 python平台的DES3 + base64 加密解密, 有两个常用的库pycrypto和pyDes 1)pycrypto des3.py #coding=utf-8 ...

  3. 微信js-sdk使用

    <?php $appid=""; $secret=""; class JSSDK { private $appId; private $appSecret ...

  4. POJ2653:Pick-up sticks(线段相交)

    题目:http://poj.org/problem?id=2653 题意:题意很简单,就是在地上按顺序撒一对木棒,看最后有多少是被压住的,输出没有被压住的木棒的序号.(有点坑的就是没说清楚木棒怎么算压 ...

  5. SpringBoot简介及第一个应用

    一.Spring时代变换 1. Spring1.x 时代 Spring初代都是通过xml文件配置bean,随着项目的不断扩大,繁琐的xml配置,混乱的依赖关系,难用的bean装配方式,由此衍生了spr ...

  6. 把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中

    把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中步骤如下: 把需要合并的文件放到同一个文件夹 在该文件夹中新建一个excel文件 打开新建的excel问价,把鼠标放到sh ...

  7. 基于HTML5 FileSystem API的使用介绍(转)

    FileSystem提供了文件夹和文件的创建.移动.删除等操作,大大方便了数据的本地处理, 而且所有的数据都是在沙盒(sandboxed)中,不同的web程序不能互相访问,这就保证了数据 的完整和安全 ...

  8. SCP命令只能单项拷贝,另一个方向“RSA host key for 172.16.103.176 has changed and you have requested strict checki Host key verification failed. lost connection”问题

    [dinghuaneng@95 move_data]$ scp * dinghuaneng@172.16.103.176:/home/dinghuaneng@@@@@@@@@@@@@@@@@@@@@@ ...

  9. struct2的xml文件中result的配置(转)

    一个result代表了一个可能的输出.当Action类的方法执行完成时,它返回一个字符串类型的结果码,框架根据这个结果码选择对应的result,向用户输出.在com.opensymphony.xwor ...

  10. c++之旅:模板库中的容器

    容器 C++中的容器包括array, vector, list,map,set 数组 array不可变长,创建时其大小就固定了,array中可以存储各种数据类型包括对象,不过array是在栈上分配的, ...