寫了一個簡單的射氣球小遊戲,用的技巧很簡單,只是用滑鼠點點就能做到,成果如下
設置完背景後,讓幾個氣球(?)在下方隨機產生並往上飄動,而玩家
需點擊氣球賺取分數。
在2D遊戲裡都會使用到sprite的概念,他會幫我們處理圖檔的資訊,而這裏我主要想記錄的是,依照遊戲的設計需求,必須會某些sprite賦予一些屬性,才能對其進行操作,在射氣球裡為了要讓滑鼠能夠點擊,賦予氣球collider2D這個元件,在需要進行碰撞檢測時都需要它,它有好幾個形狀選擇如Box , Circle, Edge...等,依照需求來決定,在3D的設計有一樣的概念,只是是使用collider這個元件,簡單說沒有加上2D字樣的都是3D。
而不管是2D還是3D,若有如需要有物理行為的物質,如主角,敵人等就要給予rigidbody(2D)(剛體)這個元件,這像是給予遊戲元件一個身體一樣,射氣球沒使用到這個,只是順便將這個紀錄起來。
所以有了以上的概念,就可以做些基本的遊戲了,當然還有許多東西還在摸索,像是攝影機,光線等的控制,不過射氣球沒用到這些所以就先放著~
Unity使用的腳本語言有C#、JavaScript、Boo, 因為我主修Java ,所以使用C#來寫,這裡紀錄Unity裡有些既有函式可以使用,而幾乎一定會使用的函式是Update和FixedUpdate, 如其名兩個都是用來更新每個Frame所使用的函式,他才是讓遊戲有所動作的功臣,而不同在於,當使用的遊戲元件擁有rigidbody,那就要使用FixedUpdate,原因是他才會固定每個Frame裡的值,這樣才不會讓人物動起來有怪異的情況。
每個物體的移動都是由transform函式掌控,這也是射氣球的核心Code
transform還有許多功能,還要在研究一下
拉回主題,在射氣球裡所要使用的函式為OnMouseDown,這是按下滑鼠時會產生的行為,這也是Unity的既有函式,使用上當然也沒什麼。
本來想再多紀錄Animator的使用,不過因為我還不太會畫爆炸的圖示....,所以沒有使用在射氣球上,下次再用PS畫些圖來試試。
作者已經移除這則留言。
回覆刪除作者已經移除這則留言。
回覆刪除我可以跟你要全部的程式碼嗎
回覆刪除