制作一个游戏不可避免地要用腳本规定游戏中物体的动作响应,在Unity3D中我们用的是C#语言(也可以用javascript,但是网上的教程C#更全面)因此我专门抽出一篇讲讲C#。当然如果伱对这一篇不感兴趣或者觉得太难,可以跳过这一篇直接看下一篇这并不会影响后面的学习。
本文默认读者有C++基础主要对比C#和C++的区别,来学习C#的特别之处
注意:以下列出的C#语法并不是C#的全部,只是列出C#与C++表观意义上的不同帮助大家理解Unity3D的C#脚本。如果想系统学习C#还請查看官方文档。
C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言
C#有自动垃圾回收机制,不需要开发者管理内存
下面主要写写C#和C++的不同之处。
与C++不同的是C#的类要写在类里。例子可见下面代码
C#的类定义与C++稍微一些不同:C#类中private和public成員写法有些不同,要写在成员和方法的定义前面(如public double GetArea(){});类的方法可以直接在类中定义例子:
C# 提供了一个特殊的数据类型:可空类型类型,改类型与原来类型的区别是定义的变量可以为空语法为 int?a; 它与int b的区别是b的取值范围既是int的范围而a的取值范围是int的范围加上null。
Null合并运算符为类型转换定义了一个预设值以防可空类型的值为Null。例子: