Unity 2D小遊戲製作(二) :怪物與攻擊
- 子彈射出
- 創建怪物
此篇效果 - 子彈射出* * * *
- 接下來進入完整教學 -
子彈射出
一、在場景中新增一個 Sprite 物件,並將名稱設定為「Bullet」
二、把 Bullet 的圖片設定為「Knob」
三、把 Bullet 的Sprite Renderer的 Color 設定成黃色(先拖曳外圈再點選內圈正方形)
四、在 Bullet上新增一個 BoxCollider2D (用來偵測跟怪物的碰撞) ,並記得將Is Trigger打勾
五、在 Bullet上新增一個Rigbody2D ,並將重力參數(Gravity Scale)調整為零
六、接下來在「Code」資料夾中,新增一段名為「BulletCode」的程式碼並雙擊啟動
七、編寫下列程式碼
public class BulletCode : MonoBehaviour
{
void Update()
{
//脫離父物件
this.transform.parent = null;
//每一偵子彈向上飛行
this.transform.position += new Vector3(0, 0.1f, 0);
}
//下面這個函式是當子彈碰撞到其他物體時會執行
private void OnTriggerEnter2D(Collider2D collision)
{
//如果碰到頂端牆壁,摧毀子彈(為了不讓子彈無限飛行)
if(collision.name=="Wall_3")
Destroy(this.gameObject);
}
}
- 如下圖
八、接下來把 BulletCode 程式碼拖曳到場景中的 Bullet 物件上,這樣子彈就會動囉!
九、接下來為了要寫射擊功能,我們要再次開啟ShipController程式碼來編輯,新增下圖的程式碼,新增完後記得按下 ctrl+S 存檔
第一段
//宣告子彈物件
public GameObject Bullet;
第二段
//如果玩家按下空白鍵
if (Input.GetKeyDown(KeyCode.Space))
{
//在(0,3,0)的位置生成Bullet物件,而Bullet物件指向子彈物件
Instantiate(Bullet, this.transform.position, Quaternion.identity);
}
十、再來我們要把子彈做成 預製物件 Prefab,我們先創造一個叫做「Prefab」的資料夾
十一、再來我們把場景裡的 Bullet 物件拖曳到「Prefab」資料夾裡,這樣就建置好預製物件了
十二、再來我們點選太空船,找到程式碼的位置,可以看到一個子彈(Bullet)的空欄位
十三、再來我們將Prefab資料夾裡的預製物件Bullet拖曳到上面的空格裡,並刪除掉場景中的Bullet物件(不然會多一個)
十四、這樣就大功告成囉!接下來按下Play,再按下空白鍵就可以看到太空船射出子彈囉!
創建怪物
一、將怪物素材從桌面拖曳到「Sprite」資料夾中,並把他設定成Sprite(記得按下Apply,點一下遊戲場景畫面會出來)。
二、把「Sprite」資料夾中的Monster拖曳到Scene中,就可以生成一個怪物物件
三、在Code資料夾中新增一段C#程式碼,叫做「MonsterCode」
- 在MonsterCode中輸入下列程式碼
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MonsterCode : MonoBehaviour
{
void Update()
{
//怪物持續向下移動
this.transform.position += new Vector3(0, -0.05f, 0);
}
//如果被東西碰到
private void OnTriggerEnter2D(Collider2D collision)
{
else if (collision.name == "Wall_4")
{
//摧毀怪物
Destroy(this.gameObject);
}
}
}
四、接下來把「MonsterCode」程式碼拖曳到Monster上,並在Monster身上新增一個 BoxCollider2D
五、把BoxCollider2D的Trigger勾起來(不要產生碰撞)
六、把Monster大小調整為X = 0.75,Y = 0.75 ,Z = 1 就大功告成囉!
- 這只是第二部分喔接下來還有最後一段,怪物死掉動畫跟怪物隨機生成
-------------------------------------------------------------------------------------------------------------------------------------
我們有粉絲專頁囉!!!
如果怕有問題連絡不到我們,歡迎隨時私訊FB粉專哦!!!
https://www.facebook.com/Straying2018/
● 如果這篇文章有幫助到您,希望您能留言給予我們鼓勵 !
● 對於文章有任何的建議,非常歡迎留言告訴我們哦 !!!
● 有任何想知道的功能也歡迎告訴我們,我們會盡快寫成部落格分享給大家 !
留言列表