Ⅰ 在unity中怎麼運行.cs文件
一.准備工作:
調試工具
1.visual studio 工具配置:Edit - Preferences - External Tools
2.c#項目文件說明:詳細鏈接
新創建的unity項目並沒有這些文件,當在unity編輯器中,打開cs文件時或者點擊Assets-open c# project時棚襲猜,就會啟動visual studio工具,會自動創建 sln(solusion 解決方案) 和csproj項目文件。
其中的firstpass表示先編譯,Editor表示放在Editor文件夾下的腳本。
根據官方的解釋,它們的編譯順序如下:
(1)Assembly-CSharp-filepass.csproj:所有在Standard Assets、Pro Standard Assets或者Plugins文件夾中的腳本;
(2)Assembly-CSharp-Editor-filepass.csproj:所有在Standard Assets/Editor、Pro Standard Assets/Editor或者Plugins/Editor文件夾中的腳本產生工程文件;
(3)Assembly-CSharp.csproj:所有在Assets/Editor外面的,並且不在(1),(2)中的腳本文件(一般這些腳本就是我們自己寫的非編輯器擴展腳本)會產生工程文件;
(4)Assembly-CSharp-Editor-vs.csproj:所有在Assets/Editor中的腳本產生一個工程文件。
登錄後復制
他們是分別鏈型對應項目中4個不同代碼存放禪指位置的C#工程,被編譯成dll後位於主目錄下的\Library\ScriptAssemblies\
Assets目錄
1、Resources
存放資源,Resources的所有內容都會打包到發布版中,資源會被壓縮,使用Resources.Load()進行載入。
2、Editor
存放編輯器的擴展腳本,可以寫一些輔助工具。Editor下的資源不會被打包到發布包中。
3、Plugins
存放插件,比如spine,tween,Plugins/Android、Plugins/iOS
Ⅱ unity3d怎麼用腳本激活腳本
C#是一種非常典雅而強大的編程語言,它的dot-syntax命名法則基於Java,所以如果你具有Java編程背景將感到非常舒服。不過區別也還是有一些的,最明顯的應該是在C#中屬性以及方法的名稱約定俗稱都是以大寫字母開頭的。 C#的特性列表實在太長,這使得ActionScript實在是看起來有些相形見絀。 C#與Actionscript從本質上是極為相似的。
運算符重載
它允許程序員為+-*/這樣的運算符定義特殊的行為。它的優勢在向量加法運算中就可以明顯體現出來,在ActionScript中,要計算向量之和,你需要書寫類似下面的代碼:
view sourceprint?1.var c:Vector3D = a.add(b);
復制代碼
在多於兩個向量相加時代碼的易讀性會變得很差。如果在C#中重載+運算符,代碼將會變成下面的形式:
view sourceprint?1.Vector3 c = a + b;
復制代碼
在Unity3D中所有向量的運算符都進行了重載。如果你希望自己實現,運算符重載也非常簡單,對於上面的例子,代碼大致是下面這個樣子的:
view sourceprint?1.public static Vector3 operator + (a:Vector3, b:Vector3) {
return new Vector3(a.x + b.x, a.y + b.y, a.z + b.z);
}
復制代碼
這其中有一些簡單的規則:運算符函數永遠都是靜態的(static),並且需要返回它所定義的對象類型。不過它的參數可以是任何類型的,因此完全可以重載加法或乘法運算符使其支持向量與浮點數或者與矩陣的運算——而這一切都要得益於C#對運算符重載功能的支持。
方法重載
方法重載可以允許我們定義多個同名但參數不同的方法。它不但對一般方法起作用而且也可以應用於構造函數——如果有多種途徑來初始化一個對象,那麼你可以為每一種途徑定義一個專有的構造函數。而且方法重載同樣可以應用於運算符方法,這一點上面已經提到了。
在Unity3D API中一個關於運算符重載最好的例子就是』Transform.Rotate()』這個方法,它被重載了三次以滿足不同的旋轉參數:
view sourceprint?1.void Rotate (Vector3 eulerAngles, Space relativeTo)
void Rotate (float xAngle, float yAngle, float zAngle, Space relativeTo)
void Rotate (Vector3 axis, float angle, Space relativeTo)
復制代碼
你可以指定歐拉角,也可以指定旋轉軸以及旋轉角度。ActionScript可以使用默認參數來模擬方法重載,但是這樣做並不方便也不便於理解。
Getter/Setter語法
C#聲明參數的方法非常簡明扼要,在ActionScript中需要兩個方法——一個』get』一個』set』,而在C#中的代碼則是這樣的:
view sourceprint?1.public float Size { get; set; }
復制代碼
在這種情況下,你不需要額外做任何工作編譯器就會自動創建一個私有屬性,當然,這樣的定義沒什麼用處,下面列舉一個稍微復雜點的,包括一個public的get以及private的set:
view sourceprint?1.public float Area {
get { return size * size; };
private set { size = Mathf.Sqrt(value) };
}
復制代碼
想必你應該已經注意到了,盡管C#源自Java,在C#中卻並不使用』function』和』var『關鍵詞——這樣做之所以好是因為這兩個關鍵詞完全是冗餘的病情不會為代碼增加任何有價值的信息。對於其他特性,我推薦看看indexers,generic types,structures以及enumerators,在上面提到的C# Pocket Book中都有詳細介紹,許多C#教程中也有涉及。
編輯C#
很多編輯器都支持C#,微軟提供的Visual C# Express Edition免費而且非常好用,支持代碼自動補完功能,但是只對應Windows平台(顯然的)。對於Max平台Mono Develop看起很強大但是還並不是很穩定。 不幸的是Eclipse的C# plugin目前為止非常不穩定,所以我並不推薦,但好在它目前還處於Alpha階段。當然,不論如何,我們最後至少還可以求助於TextMate。
最後需要提到的是Unitron——Unity3D自帶的默認編輯器。在開發者中間它並不怎麼流行,而且我看到有人抱怨他過於基本了,我並不認同這種觀點。雖然它不如FDT之於ActionScript那樣強大,但是它非常穩定而且具備基本的代碼自動補完功能,自動補完功能在默認設置下是關閉的,要開啟該功能需要打開』Preferences』,你會在』General』面板的底端找到這個選項,如此一來我相信Unitron還是值得一用的。
我們中很多人都是在瀏覽器環境下認識Javascript的,而Javascript也是很多人平生第一次使用的編程語言。如果是這種情況的話,你很可能會立刻開始使用Javascript進行Unity3D的編程而不必操心要學習什麼新東西,畢竟,如Unity3D所說,任何使用C#可以完成的事同樣可以使用Javascript完成。
但是從長遠考慮的話,C#可以提供更好的代碼管理,完整的OOP支持,strong typing以及掌握一門優秀編程語言所帶來的成就感。
Ⅲ 在unity3D: c# 怎樣調用另外一個c#腳本裡面東西
對於靜態Script(可以不繼承MonoBehiviour)
直接用 腳本名.函數名(參數); 調用即可
對於組件
如果是靜態成員,同上
如果是動態成員,可以用GetComponent<腳本名稱>()來獲取此腳本的類
也就是使用GetComponent<腳本名稱>().函數名(參數);調用
注意:上述其實省略了一個this對象,表示本身,意思是說你用
GetComponent<腳本名稱>() 獲取的對象是此腳本所掛載的對象上的此C#腳本對象
如果你要調用其他物體的腳本的成員,請使用Obj.GetComponent<腳本名稱>().函數名(參數);這里Obj指的是其他物體的GameObject對象
Ⅳ Unity3D中怎麼調用C語言的程序
舉個例子:intMax(int,int);/*函數原型聲明,注意沒函數體,形參名字可加可不加,必須用分號結束*/intmain(){intz=Max(1,2);/*調用函數*/}/*下面是函數定義,若它放在main之前,則上面的函數原型聲明可不寫*/intmax(intx,inty){returnx>y?x:y;}
Ⅳ unity3d聖典中文腳本怎麼用
1、首先啟動Unity,單機菜單欄中的Assets->Create來添加腳本。