分类: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脚本开发基础的更多相关文章

  1. 【SharePoint学习笔记】第1章 SharePoint Foundation开发基础

    SharePoint Foundation开发基础 第1章 SharePoint Foundation开发基础 SharePoint能做什么 企业信息门户 应用程序工具集(文档库.工作空间.工作流.维 ...

  2. SharePoint 2010 最佳实践学习总结------第1章 SharePoint Foundation开发基础

    ----前言 这段时间项目出在验收阶段,不是很忙,就潜心把SharePoint学一下,不求有多深刻,初衷只是先入门再说.后续会发布一系列的学习总结.主要学习的书籍为<SharePoint2010 ...

  3. Unity脚本开发基础 C#

    1. MonoBehaviour 类 常用事件响应函数: 2. 访问游戏对象 (1) 通过名称来查找 (2) 通过标签来查找 上述函数比较费时,应避免在 Update 函数调用. 3. 访问组件 对于 ...

  4. [原]Unity3D深入浅出 - 脚本开发基础(Scripts)

    常用脚本事件: Update:每帧调用一次 Start:在第一次Update执行前调用 Awake:脚本实例在创建时调用 FixedUpdate:每个固定物理时间间隔调用一次 LateUpdate:每 ...

  5. 第一章使用JSP/Server技术开发新闻发布系统第一章动态网页开发基础

      一:为什么需要动态网页    由于静态网页的内容是固定的,不能提供个性化和定制化得服务,使用动态网页可真正地与用户实现互动. 二:什么是动态网页  ①:动态网页是指在服务器端运行的,使用程序语言设 ...

  6. U3D脚本开发基础

    1.MonoBehaviour类,定义了对各种特定事件的脚本响应函数.这些函数均以On做开头. 2.U3D中常用的组件及对应变量名如下: Transform(transform),Rigidbody( ...

  7. jsp第一章 动态网页开发基础

    动态网站可以实现交互功能,如用户注册.信息发布.产品展示.订单管理等等: 动态网页并不是独立存在于服务器的网页文件,而是浏览器发出请求时才反馈网页: 动态网页中包含有服务器端脚本,所以页面文件名常以a ...

  8. [No0000138]软件开发基础知识

    1. 本文目的 本文目的在于,介绍软件开发的各种基础知识 以实现,看了之后,对于软件开发的很多领域的基础知识有所了解 如此在进行后续的真正的软件开发时,遇到各种细节知识,才会明白由来和背景知识 第 1 ...

  9. SAP-ABAP系列 第二篇SAP ABAP开发基础

    第二章SAP ABAP开发基础 1.ABAP数据类型及定义 ABAP程序中共包含8种基本数据类型定义, 类型名称 描述 属性 C Character Text (字符类型) 默认长度=1,默认值 = ...

随机推荐

  1. 链接sql数据库并输出csv文件

    __author__ = 'chunyang.wu' #作者:SelectDB # -*- coding: utf-8 -*- import MySQLdb import os os.environ[ ...

  2. 解决BeautifulSoup库运行时报错问题

    解决BeautifulSoup库运行时报错问题 运行BeautifulSoup库时可能出现下面的错误,具体错误消息为:To get rid of this warning, change this: ...

  3. Linux常见命令缩写

    缩写,是简介高效地表达 unix   unix-like   Linux 00.命令简写 ls:list(列出目录内容)cd:Change Directory(改变目录)su:switch user ...

  4. 基于源码编译openssl

    openssh依赖于openssl,由于ssl频繁曝出漏洞,牵扯到openssh.而自身也存在漏洞... 00.下载openssl https://www.openssl.org/source/ ht ...

  5. 使用PHP做移动端 api接口开发方法(适用于TP框架)

    1. [代码]使用TP框架时 放在common文件夹下文件名就叫function.php ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

  6. 手动搭建latex公式渲染服务器

    latex公式渲染有两种类型,一种是HTML形式展示公式,另一种是图片形式展示公式.如果是HTML形式展示公式,渲染是在前端完成的,一般会比较缓慢.知乎采取的方式是以图片形式展示公式.codecogs ...

  7. tf.gfile

    一.功能和目的 tf.gfile模块定义在tensorflow/python/platform/gfile.py,但其源代码实现主要位于tensorflow/tensorflow/python/lib ...

  8. python+stomp+activemq

    python也可以连接MQ,以ActiveMQ为例,安装stomp.py: https://github.com/jasonrbriggs/stomp.py 下载后安装: python setup.p ...

  9. 【LeetCode】200. Number of Islands (2 solutions)

    Number of Islands Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. ...

  10. 转载:librdkafka问题总结

    使用librdkafka过程中,遇到的一些问题,解决办法! 暂时先转载:form:http://blog.csdn.net/lybingo/article/details/52808192?locat ...