unity3d中的每乙個物體在inspector中的static的作用
當選中時,這個object是在程式執行時是靜止不變的,確保不被改變,一般多用於場景中靜止的物體。
在unity內部會有不少操作來檢測該object是否為static的,
對於static的物體進行一些特殊處理,
在rendering優化時會根據是否為static來進行不同的優化,在lightmaping時(光照渲染烘焙),會根據是否是static來進行光照等等。
1. 首先解釋一下static是什麼意思?
static是靜態的意思,既然是靜態,就是不變的,而不變就是他不會因為類中例項化物件的不同而不同,它在類中永遠只有乙份,就像中國人有許多,但我們只有乙個國家中國。
2.由static修飾的歸屬問題
由static修飾的不管是變數還是方法,都屬於類直接管理,所以類中所有的方法(這裡方法包括靜態和例項)都可以呼叫他們,就像公司裡的印表機,它是屬於公司的,公司裡的人員(例項)都可以用它。
例如:class program
void aa()
}3.static修飾的範圍
①static可以修飾類,使類成為靜態類。這樣在此類中只能定義靜態的方法和靜態的變數。
②static可以修飾變數,這個變數只能是成員變數,不能是區域性的。
既不能修飾方法體中的變數,以及形式引數。
③static可以修飾方法,main方法必須用static修飾,因為它是與程式共存亡的,是程式的入口和結束的大門。
例如:class test
}static class test
//正確
void bb() {} //錯誤,靜態類不能定義例項方法
}4.static修飾的呼叫
①在本類裡呼叫由static修飾的方法和變數,可以直接用
class a
static void bb()
}②在外類中呼叫static修飾的方法和變數,類名。方法名
或類名。變數名
class program
}class test
其他解釋:
class program
static program()
static
void main(string args)
}
特點:
e、靜態資料成員,主要用在類的所有例項都擁有的屬性上。比如,對於乙個存款類,帳號相對於每個例項都是不同的,但每個例項的利息是相同的。所以,應該把利息設為存款類的靜態資料成員。這有兩個好處,第一,不管定義多少個存款類物件,利息資料成員都共享分配在全域性區的記憶體,所以節省存貯空間。第二,一旦利息需要改變時,只要改變一次,則所有存款類物件的利息全改變過來了,因為它們實際上是共用乙個東西。
特點: a、靜態成員函式與類相聯絡,不與類的物件相聯絡。 b、靜態成員函式不能訪問非靜態資料成員。原因很簡單,非靜態資料成員屬於特定的類例項。
作用: 主要用於對靜態資料成員的操作。
class
program
static
void main(string args)
", i);
console.writeline("j=", new program().j);
console.read();
}}
console.writeline("i=", i);
i=0
j=1
C 的static有兩種用法
靜態全域性變數 在全域性變數前,加上關鍵字static,該變數就被定義成為乙個靜態全域性變數。我們先舉乙個靜態全域性變數的例子,如下 example 1 include void fn static int n 定義靜態全域性變數 void main void fn 靜態全域性變數有以下特點 靜態變...
unity中使用httppost的兩種方式
最近需要在unity中使用http post的方式傳遞訊息,所以做一下記錄吧 1 unity自己的www 方式 因為我傳遞的訊息是json字串所以前期的工作就是 拼字串然後通過litjson或者newtonsoft.json等庫轉換成byte陣列然後,直接上 吧 ienumerator sendto...
Unity開發 persp和iso兩種模式的區別
persp相當於是透視視野 在persp模式下,物體在scene介面上所呈現的畫面是給人一種距離攝像頭近的物體顯示的大,距離攝像頭遠的物體顯示的小。iso相當於是平行視野 在iso模式下,不論物體距離攝像頭遠近都給人的感覺是一樣大的。在game介面,這兩種模式給人呈現的效果是一樣的,都是距離攝像頭近...