unity指令碼入門

2021-08-20 07:27:40 字數 3697 閱讀 4589

介面

void awake(){}//指令碼載入時呼叫

void onenable(){}// 指令碼啟用時呼叫

void start(){}//只呼叫一次,在呼叫update之前呼叫

void update(){}//每幀呼叫一次,每秒接近60次

void lateupdate(){}//update呼叫完之後呼叫

void ondisable(){}//取消指令碼時呼叫

void ondestroy(){}//指令碼銷毀時呼叫

void ongui(){}//持續呼叫-imgui**需要寫在ongui中,用於做ui

void fixedupdate(){}//以固定頻率呼叫

onrecttransformdimensionschange()//當螢幕解析度大小改變時呼叫

三維向量(vector3)

//單位向量

vector3.up;//座標y正方向

vector3.down; //座標y負方向

vector3.right; //座標x正方向

vector3.left; //座標x負方向

vector3.forward; //座標z正方向

vector3.back; //座標z負方向

vector3.zero; //座標原點

//向量計算

vector3.angle(,);//求兩個向量的夾角

vector3.distance(,);//求兩點距離

vector3.dot(,);//向量相乘

vector3.cross(,);//向量叉乘

this.normalized;//獲取物件的單位向量

this.magnitude;//獲取物件的長度

變換(transform)

//位置、旋轉、縮放

transform.position;//世界座標軸

transform.localposition;//區域性座標軸

transform.rotation;//旋轉四元數(以自身為參考係)

transform.localrotation;//旋轉四元數(以區域性座標朝向為參考係)

transform.localscale;//調整大小

transform.translate();//變換當前遊戲物件

transform.rotate(,);//旋轉當前物件,單位向量、旋轉的度數(以區域性座標為參考係)

transform.eulerangles;//尤拉角

//物件之間的父子關係

transform.parent;//獲取父物件的transform元件

transform.root;//獲取跟物件

transform.find();//獲取子物件(string)

transform.findchild();//獲取子物件(string)

時間類(time)

time.time;//

遊戲開始到目前的時間值

time.deltatime;//

遊戲上一幀到這一幀的時間

time.timescale;//

表示時間流逝的倍率

數學類(mathf)

//參考手冊

預設體(prefab)

instantiate();//

建立預設體,可以

new

乙個

gameobject

類接收

滑鼠事件

void onmousedown(){}//滑鼠按下時呼叫

void onmousedrag(){}//按住時呼叫

void onmouseup(){}//鬆開時呼叫

void onmousedown(){}//滑鼠按下時呼叫

void onmousedrag(){}//按住時呼叫

void onmouseup(){}//鬆開時呼叫

void onmouseenter(){}//進入時呼叫

void onmouseover(){}//停留時呼叫

void onmouseexit(){}//離開時呼叫

void onmouseupasbutton(){}//單擊時呼叫

//方法

cursor.visible//滑鼠顯示/隱藏

input.getkey//獲得鍵盤按鍵碼

剛體/

(rigid body)

//使用力需要獲取剛體元件,初始化剛體元件

private rigidbody f;//宣告乙個剛體來改變力

f = getcomponent();//獲取乙個遊戲物件剛體初始化

this.addforce(); //給遊戲物件中心點新增乙個力,力的方向大小(區域性座標為參考係)

this.addtorque(); 給遊戲物件新增乙個力矩,所要繞的軸

this.addforceatposition();//給遊戲物件身上的任意點新增乙個力,力的方向大小、物件任意點的位置(世界座標軸)

this.addexplosionforce(); //給遊戲物件建立乙個**力,力的大小,**力的位置,**力的範圍

碰撞/觸發器

other.gameobject.name;//獲取遊戲物件名字

string.equals(,);//判斷兩個字串內容是否相同

//碰撞觸發器

void oncollisionenter(collision other){}//碰撞開始

void oncollisionstay(collision other){}//碰撞持續(摩擦)

void oncollisionexit(collision other){}//碰撞結束

//事件觸發器

void ontriggerenter(collider other){}//進入觸發範圍

void ontriggerstay(collider other){}//在觸發範圍中

void ontriggerexit(collider other){}//離開觸發範圍

其他

//迴圈執行方法,引數:方法名,開始執行時間,執行間隔

invokerepeating(,,);

//延時執行,引數:方法名,開始執行時間

invoke(,);

Unity3D 指令碼入門

1 資料型別和基本運算 a 命名空間就像在檔案系統中乙個資料夾容納多個檔案一樣,可以看作某些類的乙個容器。通過把類放入命名空間可以把相關的類組織起來,並且可以避免命名衝突。命名空間既用作程式de 內部 組織系統,也用作 外部 組織系統。使用命名空間 using 2 整型 整數 8個名稱 sbyte ...

unity3d 指令碼入門

1 virtual和override a virtual 用在基類中,指定乙個虛方法 屬性 表示這個方法 屬性 可以重寫。b override 用在派生類中,表示對基類虛方法 屬性 的重寫。class test2 test public sealed override void show 執行的結果...

unity3d 指令碼入門

1 virtual和override a virtual 用在基類中,指定乙個虛方法 屬性 表示這個方法 屬性 可以重寫。b override 用在派生類中,表示對基類虛方法 屬性 的重寫。class test2 test public sealed override void show 執行的結果...