多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > UnityScript快速入門

UnityScript快速入門

來源:程序員人生   發布時間:2014-09-29 08:00:01 閱讀次數:3100次

UnityScript原先被官方稱作用于U3D的JavaScript,但是較新一些的文檔都已經叫做UnityScript了,雖然JS的語法在UnityScript中幾乎都可以使用,但是UnityScript是一種具有靜態類型檢查且更加OOP的JS,所以完全可以把UnityScript當做一門新語言來學,當然,如果已經學會了JS,那么想學會UnityScript是相當快的。相比跑在瀏覽器上的JS,UnityScript無論在身為語言的設計上還是在運行能力上都要遠遠優于前者。


這篇快速入門教程將會著重講解UnityScript那些與JS不太一樣的地方,所以會比較適合從JS轉過來并且稍微有些編程基礎的編程人員,如果沒有JS的基礎那么建議先學一下JS,如果連編程基礎也沒有,那建議你還是先不要碰什么游戲引擎了~(^ ^)~


Chapter-1 嚴格模式

一般UnityScript源碼文件的第一行都要加上

#pragma strict
其實你也可以不加。加上的話會進入嚴格模式,這種模式會對JS超級隨意的動態特性加以限制。

Chapter-2  為變量靜態指定類型

UnityScript聲明變量的方式和JS一樣,都是用'var 變量名'的格式來聲明變量,但是UnityScript中可以通過'var 變量名 :類型'的格式來為聲明的變量指定明確的類型。下面是一些例子:

var num :int = 1; //整數型變量 var str :String = "hello UnityScript"; //字符串型變量 var player :GameObject; //游戲對象變量


Chapter-3 函數

因為UnityScript中可以為變量明確指定數據類型,所以可以再函數中為參數指定類型,而且也可以指定一個返回值

function Add(x :int, y :int) :int { return x + y; }
如果沒有返回值,可以不用在參數列表后面加任何代碼。


Chapter-4 訪問控制
UnityScript允許像C++/Java那樣通過添加privatepublic關鍵字來設置變量、類或函數的訪問控制權限(也叫對外可見性),例如:

private var self :String = "myself"; //私有變量 public function GetName() { //共有函數 return "Nonull"; }

Chapter-5 面向對象和接口

UnityScript中的面向和Java非常相似,包括繼承和實現接口時所用的關鍵字也一樣哦。看看下面的例子就明白了:

public class Person { private var name :String; private var age :int; public function Person(name :string, age :int) { //構造函數 this.name = name; this.age = age; } public function Introduce() :String { return "my name is: " + this.name + " and I am " + this.age.ToString() + " years old."; } } public class Student extends Person { public function Student(name :String) { super(name); } //... }

接下來是接口的:

public interface People { function Speak(); function Study(); function Walk(); } public class Child implements People { public function Speak() {...} public function Study() {...} public function Walk() {...} }

Chapter-6 事件函數

有一些特定的函數是用來處理Unity中特定的事件的,比如在游戲加載時要執行什么操作,在畫面幀更新的時候要執行什么操作,這些事件函數決定了腳本文件的大致執行結構,下面有一些常用的事件函數~

function Awake() { } function Start() { } function Update() { //幀更新 } function FixedUpdate() { //固定間隔的更新 }

Chapter-7 并發
UnityScript中使用Coroutine來進行并發。并不是所有操作都要在一幀之內全部完成,可能你想讓某段代碼在一定之間內持續運行且不影響畫面幀的刷新,那么這時候就要用到Coroutine了。

讓某段代碼以Coroutine的方式運行的方式就是在這段代碼的合適位置加上關鍵字yield,這個合適的位置由你自己決定,如果你設置了yield關鍵字,那么這段代碼會在yield關鍵字處終止運行,并在合適的時候再返回到這個yield關鍵字所在處繼續運行。下面的代碼展示了如何定義Coroutine:

public function CoroutineTest() { while (true) { yield; //加上yield關鍵字就可以讓函數以Coroutine的方式執行 } }
如果要運行某個Coroutine代碼段,直接像調用普通函數一樣調用它就行了:

function Start() { CoroutineTest(); //自動以Coroutine方式運行并且不會阻塞畫面幀的更新哦 }

Chapter-8 網絡編程

UnityScript并沒有自己的socket,但是因為UnityScipt以mono運行時運行,所以可以使用mono的socket。下面定義一個socket拋磚引玉一下你就明白了~

public var sock :System.Net.Sockets.Socket;


如果轉載請注明出處:http://blog.csdn.net/gophers



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 免费在线观看的视频 | 欧美18av | 午夜欧美视频 | 国产精品亚洲精品一区二区三区 | 国产成人a一区二区 | 亚洲jizzjizz在线播放久 | 欧美高清在线视频在线99精品 | 欧美日韩国产精品自在自线 | 中文字幕在线网 | 国产成人一区二区在线不卡 | 毛片网站网址 | 成人精品一区二区久久 | 三级国产在线观看 | 国产中文字幕在线播放 | 久久2| tube12xxxxhd曰本| 亚洲成a人v天堂网 | 国产 | 久而欧洲野花视频欧洲1 | a级片中文字幕 | 欧美hd性| 动漫精品一级毛片动漫 | 日韩综合网站 | 国产精品免费久久久久影院 | 性一交一乱一伦一色一情 | 久久久久999 | 亚洲另类图片小说 | 国产一级淫片免费大片 | 成人福利在线 | 久久精品国产一区二区 | jizz日本在线观看 | 亚洲精品一区二区三区四区五区 | 老王午夜69精品影院 | 国产一区 在线播放 | 国产精品久久久久国产精品三级 | 尤物精品| 多人做人爱视频大全在线观看 | 国产亚洲欧美日韩在线一区 | 国产精品夜色视频一区二区 | 亚洲精品国产啊女成拍色拍 | www.色.con| 亚洲伦理网站 |