【Unity】第6章 Unity脚本开发基础
分类:Unity、C#、VS2015
创建日期:2016-04-16
一、简介
游戏吸引人的地方在于它的可交互性。如果游戏没有交互,场景做得再美观和精致,也难以称其为游戏。
在Unity中,游戏交互通过脚本编程来实现。脚本可以理解为附加在游戏对象上的用于定义游戏对象行为的指令代码。通过脚本,开发者可以控制每一个游戏对象的创建、销毁以及对象在各种情况下的行为,进而实现预期的交互效果。
在Unity中进行脚本开发十分简易和高效,这是因为Unity的编辑器整合了很多脚本编辑的功能,比如脚本与游戏对象的连接、变量数值的修改以及实时预览脚本修改后的游戏效果,这样就节省了很多脚本开发时调整和调试的时间,提高了游戏开发的效率。
另外,Unity内置有一个脚本资源包,提供了丰富的游戏开发中的常用脚本,以帮助开发者快速实现游戏的基本功能。
二、Unity支持的脚本语言
Unity支持3种脚本语言:C#、JavaScript 和Boo。
其中,JavaScript 和 C# 大家都比较熟悉了,这也是在Unity中最常用的两种脚本语言。Boo是Python语言在.NET上的实现,使用者相对较少。
在Unity工程中,可以同时存在用不同语言编写的脚本。比如,在同一个工程中,有些脚本可能是用C# 编写的,而另一些脚本可能是用JavaScript编写的,这都没问题。因此,开发人员可以根据自己的喜好来选择使用哪种语言来开发,而且无须担心兼容性问题。
Unity的脚本语言在基于Mono的.NET平台上运行,因此可以使用各种.NET库,这也为XML、数据库、正则表达式等问题提供了很好的解决方案。另外,和传统解释型脚本语言不同,Unity里的脚本都会经过编译,因此它们的运行速度也很快。
总的来说,在同一个Unity工程中,基本的东西既可以用JavaScript来编写,也可以用C#来编写。但是,深度开发时(比如实际的商业游戏项目)基本上都是用 C# 来开发的。另外,绝大多数Unity的第三方游戏插件也都是用C#来开发的。
还有,用JavaScript编写的任何功能,也都可以用C#来实现。
三、使用MonoDevelop还是VS2015
都可以。
但是,VS2015的编辑器和调试器比MonoDevelop强得太多了(比如设置断点等),而且创建、修改多个脚本时,不必在VS2015和Unity之间来回切换,直接在VS2015中创建和编辑多个脚本文件就行了,等脚本的修改全部完成并保存后(注意:必须保存),再切换到Unity,即可直接使用这些脚本。另外,Unity和VS2015之间的同步全部是自动完成的,不需要你去操这个心,你只需要在VS2015中编辑并保存就行了。
所以,用Unity开发游戏时,首选的脚本语言是C#,首选的脚本编辑器是VS2015。
但是,如果你对C#不熟悉(比如Java开发人员),也可以选择用JavaScript来编写。这也是为什么搞Java的用Unity开发手机游戏时都是用JavaScript写脚本,因为他们不会C#,只好退而求其次了。
四、本章示例
本章的所有示例都在ch06Demos工程中。

【Unity】第6章 Unity脚本开发基础的更多相关文章
- 【SharePoint学习笔记】第1章 SharePoint Foundation开发基础
SharePoint Foundation开发基础 第1章 SharePoint Foundation开发基础 SharePoint能做什么 企业信息门户 应用程序工具集(文档库.工作空间.工作流.维 ...
- SharePoint 2010 最佳实践学习总结------第1章 SharePoint Foundation开发基础
----前言 这段时间项目出在验收阶段,不是很忙,就潜心把SharePoint学一下,不求有多深刻,初衷只是先入门再说.后续会发布一系列的学习总结.主要学习的书籍为<SharePoint2010 ...
- Unity脚本开发基础 C#
1. MonoBehaviour 类 常用事件响应函数: 2. 访问游戏对象 (1) 通过名称来查找 (2) 通过标签来查找 上述函数比较费时,应避免在 Update 函数调用. 3. 访问组件 对于 ...
- [原]Unity3D深入浅出 - 脚本开发基础(Scripts)
常用脚本事件: Update:每帧调用一次 Start:在第一次Update执行前调用 Awake:脚本实例在创建时调用 FixedUpdate:每个固定物理时间间隔调用一次 LateUpdate:每 ...
- 第一章使用JSP/Server技术开发新闻发布系统第一章动态网页开发基础
一:为什么需要动态网页 由于静态网页的内容是固定的,不能提供个性化和定制化得服务,使用动态网页可真正地与用户实现互动. 二:什么是动态网页 ①:动态网页是指在服务器端运行的,使用程序语言设 ...
- U3D脚本开发基础
1.MonoBehaviour类,定义了对各种特定事件的脚本响应函数.这些函数均以On做开头. 2.U3D中常用的组件及对应变量名如下: Transform(transform),Rigidbody( ...
- jsp第一章 动态网页开发基础
动态网站可以实现交互功能,如用户注册.信息发布.产品展示.订单管理等等: 动态网页并不是独立存在于服务器的网页文件,而是浏览器发出请求时才反馈网页: 动态网页中包含有服务器端脚本,所以页面文件名常以a ...
- [No0000138]软件开发基础知识
1. 本文目的 本文目的在于,介绍软件开发的各种基础知识 以实现,看了之后,对于软件开发的很多领域的基础知识有所了解 如此在进行后续的真正的软件开发时,遇到各种细节知识,才会明白由来和背景知识 第 1 ...
- SAP-ABAP系列 第二篇SAP ABAP开发基础
第二章SAP ABAP开发基础 1.ABAP数据类型及定义 ABAP程序中共包含8种基本数据类型定义, 类型名称 描述 属性 C Character Text (字符类型) 默认长度=1,默认值 = ...
随机推荐
- jQuery live事件说明及移除live事件方法
1.live事件说明 jQuery1.3增加了一个live()方法,下面是手册上的说明: jQuery 1.3中新增的方法.给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件).也 ...
- GitLab概念——Group、Project、Member
概念说明: Group是一个父子结构的目录 Group每一级都可以设置关联的Member,同时每一级下都可以创建项目 Group关联的Member和Member对应的权限,会继承到Group下的所有P ...
- SpringBoot bootstrap 配置文件没有生效
今天单独使用SpringBoot,发现其中的bootstrap.properties文件无法生效,改成yaml格式也无济于事. 最后调查发现原来是因为SpringBoot本身并不支持,需要和Sprin ...
- 网站PV、UV以及查看方法
网站PV.UV以及查看方法 一.名词解释 PV:PV 是Page Views的缩写,即页面浏览量,用户每一次对网站中的每个网页访问均被记录一次.注意,访客每刷新一次页面,pv就增加一次. UV:UV是 ...
- [转]VUE优秀UI组件库合集
原文链接 随着SPA.前后端分离的技术架构在业界越来越流行,前端的业务复杂度也越来越高,导致前端开发者需要管理的内容,承担的职责越来越多,这一切,使得业界对前端开发方案的思考多了很多,以react.v ...
- ubuntu安装wkhtmltopdf
下载安装wkhtmltox系统环境 http://wkhtmltopdf.org/downloads.html wget https://bitbucket.org/wkhtmltopdf/wkhtm ...
- js解决浮点数的加减乘除
function add(a, b) { var c, d, e; try { c = a.toString().split(".")[1].length; } catch (f) ...
- 【struts2】名为dispatcher的ResultType
1)基本使用 名称为“dispatcher”的ResultType,在struts-default.xml里的配置如下: <result-type name="dispatcher&q ...
- android图片等比例缩放 填充屏幕
在ImageView的t同事设置两个属性 android:adjustViewBounds="true"android:scaleType="fitXY"
- 【Java】K-means算法Java实现以及图像切割
1.K-means算法简述以及代码原型 数据挖掘中一个重要算法是K-means.我这里就不做具体介绍.假设感兴趣的话能够移步陈皓的博客: http://www.csdn.net/article/201 ...