Unity3D学习笔记(三)Unity的C#基础

时间:2021-03-17 04:09:10

在C#脚本中,必须显式的继承MonoBehaviour类
需要注意的是,在创建C#脚本时,脚本名应尽量符合C#命名规则,以字母或下划线开头,因为类名的默认跟随脚本名。

C#声明变量的方式和C++和Java类似,例如
public string[] name = {"element1","element2",...};
public int i; public GameObject obj;
总体来说,与JavaScript的区别在于类型关键词的放置位置不同。

函数的定义方式:
<public/private/protected> <返回值类型> <函数名>(参数列表)
{

}

注意,在C#中float值后面必须跟个f.
例如 float a = 12.3f;

不同语言脚本的通信:C#与JS通信
必须将JS放入Standard Assets文件夹中。

JS部分关键语句:需要类型转换,类型为JS脚本名,JS脚本必须放在Standard Assets文件夹内。
JS_test jsScript = (JS_test)GetComponent("<JS脚本名>");
这样,jsScript就可以调用JavaScript脚本中的公共方法了。
C#部分关键语句:只需要常规获取组件,下述情况发生在C#与JS绑定在一个物体上的情况。
var cs = this.GetComponent("CS_test");

四类时间:以秒为单位
Time.time 从游戏开始计时,截至目前消耗的总时间。
Time.deltaTime Update()函数完成上一帧所消耗的时间
Time.fixedTime FixedUpdate()固定消耗时间总和
Time.fixedDeltaTime 固定更新上一帧消耗的时间

延时语句delay:
1.含有延时语句的函数返回值类型必须为:IEnumerator
2.在需要延时的部分使用:yield return new WaitForSeconds(secs);
3.特殊用法:等待一个事件A(),可以return A();

随机数random:
使用Random.Range(min,max);//支持浮点数

数学函数Mathf:
Math.Abs,Sin,Cos,Tan,Max,Min,PI
Math.Clamp(num,min,max);//限制num处于min与max之间

四元数Quaternion.Euler(x,y,z):
Quaternion.Euler(x,y,z)返回的是旋转四元数,将它付给物体的rotation属性可以在一帧内完成旋转。
如果使用Quaternion.Slerp方法还可以插值低速旋转,第一个参数为物体的rotatior属性,第二个参数
为要旋转角度的四元数,第三个参数为时间间隔。