iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0
Mobile Development

30天輕鬆學會unity自製遊戲系列 第 22

30天輕鬆學會unity自製遊戲-製作Boom

  • 分享至 

  • xImage
  •  

之前Boss生產小兵有個小問題,如果你場景做很大,Boss會在後面一直生產小兵,可能你到Boss時,就有一整大隊的小兵等著你,所以來修改一下BossAI的程式

		//改這段就好,如果30%機率生產小兵
        else if (GetRandom(100))
        {	
//創造(小兵,自己的位置,自己的角度,產生在自己身上成為自己的子//物件
            Instantiate(enemy, transform.position, Quaternion.identity,transform);
            //刪除(自己的第一個子物件,五秒後)時間可以自己更改
Destroy(transform.GetChild(0).gameObject, 5f);
        }

這樣Boss放出小兵後,5秒小兵就消失囉~來簡單製作一個炸彈功能好囉~先把炸彈從圖庫拖曳出來,放一下碰撞器(記得勾isTrigger),改一下圖層,來修改一下動畫
https://ithelp.ithome.com.tw/upload/images/20210922/2014059814XsMFY1bM.png
炸彈一開始應該還沒爆炸,放上基本子彈大小,用錄影模式調整碰撞器大小
https://ithelp.ithome.com.tw/upload/images/20210922/20140598fFkZEzFmpw.png
https://ithelp.ithome.com.tw/upload/images/20210922/20140598BScrG4vztc.png
記得也要調整變大的前一幀,Loop time記得也要關閉
https://ithelp.ithome.com.tw/upload/images/20210922/2014059894SWawccGn.png
來畫布右鍵新增一個按鈕,此按鈕不需要文字直接刪除,調整一下位置大小,放一下圖片
https://ithelp.ithome.com.tw/upload/images/20210922/20140598zYBTxxIPlA.png
來寫boom程式跟Player程式
先開boom跟子彈幾乎一樣

public class Boom : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
		//按照你動畫決定刪除時間
        Destroy(gameObject, 2);
    }

    void Update()
    {
		//往上前進(4)看你炸彈速度要多快
        transform.Translate(Vector3.up * 4 * Time.deltaTime, Space.World);
    }
}

炸彈寫完記得製作成預置物
開啟player的程式

//開一個炸彈的物件(記得在unity放上炸彈的預置物Ps.預置物不要拿場景//上的拿資料夾裡的)
    [SerializeField] GameObject boom = null;
	//等等把這程式放在按鈕上
    public void Boom()
    {
		//創造(炸彈)
        Instantiate(boom, transform.position, Quaternion.identity);
    }

最後記得把炸彈放在Player的程式,把按鈕安裝程式
https://ithelp.ithome.com.tw/upload/images/20210922/20140598LPk4CMwAVJ.png


上一篇
30天輕鬆學會unity自製遊戲-Boss死亡問題跟通關畫面
下一篇
30天輕鬆學會unity自製遊戲-撿道具
系列文
30天輕鬆學會unity自製遊戲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言