Unity腳本入門

在Unity中腳本是必不可少的組成部分,因為它將定義游戲的各種行為。Unity推薦使用的編程語言是JavaScript,但是C#或Boo同樣也可以。

Unity開發(fā)教程種類萬千钾军,下面我們介紹JavaScript的基本使用及腳本的API。

一绢要、命名規(guī)范

在開始之前吏恭,先說一下在Unity中的一些命名規(guī)范。

變量-首寫是小寫字母重罪。變量用來存儲游戲狀態(tài)中的任何信息樱哼。

函數(shù)-首寫是大寫字母。函數(shù)是一個代碼塊剿配,只需要寫一次搅幅,在需要的時候可以再次重用。

類-首寫是大寫字母呼胚∏烟疲可以被認為是函數(shù)的庫。

提示:當閱讀范例代碼或者Unity的API蝇更,要注意首寫字母沪编,這將有助于你更好的理解對象之間的關系。

二年扩、第一個腳本游戲

我們的第一個腳本游戲是在一個簡單的游戲場景中走動.

第一步:設置場景蚁廓,即在游戲場景中添加地面和游戲對象。

地面可由一個扁的Cube代替常遂。

創(chuàng)建一個Cube纳令,縮放新x挽荠,y克胳,z,為『5圈匆,0.1漠另,5』,它現(xiàn)在應該是一個大平板跃赚,在層次視圖中(Hierarchy View)重命名為『Plane』笆搓。

*游戲對象可由另一個Cube代替性湿。

*創(chuàng)建第二個Cube,將它放置在這個大平板的中心位置。如果在游戲視圖(Game View)看不到它們满败,那么改變主相機位置使它們可見肤频。重命名該物體為”Cube1”。

*還應該建立一個點光源,并且放在大平板之上算墨,使它們更清晰宵荒。

第一個腳本

要想讓游戲對象Cube1運動起來,就需要加入腳本净嘀。

通過控制主相機的位置來實現(xiàn)报咳,要做到這一點,我們現(xiàn)在要寫一個腳本來讀取鍵盤的輸入挖藏,然后把腳本和相機鏈接起來暑刃。

首先創(chuàng)建一個空腳本。

*選擇”Assets -> Create -> Javascript”并在項目面板重命名為“Move1”膜眠。

雙擊Move1腳本岩臣,它將打開,并且默認包含有Start()和Update()函數(shù)宵膨,我們將編寫的代碼插入這個函數(shù)婿脸,任何加入Update()函數(shù)中的代碼都將在每一幀(frame)執(zhí)行一次。

Update()函數(shù):這個函數(shù)在渲染每一幀之前被調用柄驻。這里是大部分游戲行為代碼被調用的地方狐树。

在Unity中為了移動一個游戲對象我們需要用transform來更改它的位置,屬于Translate鸿脓,這個Translate函數(shù)有x抑钟,y,z三個參數(shù)野哭,因為我們向通過光標健控制主相機在塔,我們只需要下面這些代碼,來決定按鍵按下后參數(shù)的變化拨黔。

function Update() {

transform.Translate(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));

}123123

Input.GetAxis()函數(shù)返回-1或1的一個只蛔溃,例如在橫軸上左光標鍵映射為-1,右光標鍵映射為1篱蝇。

橫軸和豎軸是在輸入設置(Input Settings)中預先定義好的贺待。從Edit -> Project Settings -> input中很容易重定義按鍵映射。

現(xiàn)在我們的第一個腳本寫完了零截,怎么讓Unity的游戲對象具有這個腳本行為呢?

第一步: 首先點擊你希望應用此腳本的游戲對象麸塞,這里是主相機,你可以從層次視圖和場景視圖中選擇它涧衙。

第二步: 從菜單欄中Components -> Script -> Move1,將這個腳本賦予相機,你在檢視面板中看到主相機有Move1這個組件

提示:你也可以從項目視圖拖拽腳本到場景視圖的游戲對象具伍。

點擊播放按鈕運行游戲膳汪,你能通過光標鍵或W,A,S,D鍵來移動主相機。你也許注意到了祥绞,攝像機移動的有點太快了,讓我們來找一種更好的辦法來控制攝像頭的速度鸭限。

正如先前在update()函數(shù)里的代碼蜕径,相機的速度是按幀執(zhí)行的。然而我們需要游戲對象的移動按秒執(zhí)行败京。為了實習這一目標兜喻,我們需要將返回值乘以Input.GetAxis()函數(shù)中的Time。deltaTime:赡麦。

var speed = 5.0;

function Update() {

var x = Input.GetAxis("Horizontal") * Time.deltaTime * speed;

var z = Input.GetAxis("Vertical") * Time.deltaTime * speed;

transform.Translate(x, 0, z));

}123456123456

將上面的代碼更新到Move1腳本朴皆。

注意:Update()外的這個速度變量。這是所為的public變量泛粹,這個變量會在檢視面板中看到遂铡。它是很有用的,實際使用中可以方便的調整它的值晶姊,這比改變代碼來說方便的多扒接。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市们衙,隨后出現(xiàn)的幾起案子钾怔,更是在濱河造成了極大的恐慌,老刑警劉巖蒙挑,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宗侦,死亡現(xiàn)場離奇詭異,居然都是意外死亡忆蚀,警方通過查閱死者的電腦和手機矾利,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馋袜,“玉大人男旗,你說我怎么就攤上這事√一溃” “怎么了剑肯?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵捧毛,是天一觀的道長观堂。 經常有香客問我让网,道長,這世上最難降的妖魔是什么师痕? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任溃睹,我火速辦了婚禮,結果婚禮上胰坟,老公的妹妹穿的比我還像新娘因篇。我一直安慰自己,他們只是感情好笔横,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布竞滓。 她就那樣靜靜地躺著,像睡著了一般吹缔。 火紅的嫁衣襯著肌膚如雪商佑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天厢塘,我揣著相機與錄音茶没,去河邊找鬼。 笑死晚碾,一個胖子當著我的面吹牛抓半,可吹牛的內容都是我干的。 我是一名探鬼主播格嘁,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼笛求,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了糕簿?” 一聲冷哼從身側響起涣易,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎冶伞,沒想到半個月后新症,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡响禽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年徒爹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芋类。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡隆嗅,死狀恐怖,靈堂內的尸體忽然破棺而出侯繁,到底是詐尸還是另有隱情胖喳,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布贮竟,位于F島的核電站丽焊,受9級特大地震影響较剃,放射性物質發(fā)生泄漏。R本人自食惡果不足惜技健,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一写穴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雌贱,春花似錦啊送、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至降传,卻和暖如春披泪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搬瑰。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工款票, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泽论。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓艾少,卻偏偏與公主長得像,于是被迫代替她去往敵國和親翼悴。 傳聞我的和親對象是個殘疾皇子缚够,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內容

  • 在 Unity 中腳本是必不可少的組成部分,因為它將定義游戲的各種行為鹦赎。Unity 推薦使用的編程語言是 Java...
    hrscy閱讀 6,751評論 0 9
  • This article is a record of my journey to learn Game Deve...
    蔡子聰閱讀 3,781評論 0 9
  • Unity3D塔防開發(fā)流程 配置環(huán)境及場景搭建 編程語言:C#谍椅,略懂些許設計模式,如果不了解設計模式古话,BUG Mo...
    Grape_葡萄閱讀 2,937評論 1 3
  • 本節(jié)將指導您從頭開始創(chuàng)建將在本教程中使用的Player Prefab雏吭,以便我們涵蓋創(chuàng)建過程的每一步。 這里介紹一個...
    浪尖兒閱讀 1,635評論 0 2
  • 我坐在你的身后陪踩,看著你挽起來發(fā)鬢杖们,幫你提了提衣領。走到正面肩狂,精致的妝讓你的眉眼如畫帶笑摘完。是啊,你真的不一樣了傻谁。 圍...
    半城離火閱讀 513評論 4 2