天天看點

Unity官方案例篇:Space Shooter Tutorial全解讀(場景的循環以及敵人障礙物的生成)

首先是用來控制背景圖移動的腳本。其中用到了一個API:Mathf.Repeat

Unity官方案例篇:Space Shooter Tutorial全解讀(場景的循環以及敵人障礙物的生成)

這個API一般都用于循環移動。

Unity官方案例篇:Space Shooter Tutorial全解讀(場景的循環以及敵人障礙物的生成)

隻看定義太抽象了,我們來看看一個Demo。

Unity官方案例篇:Space Shooter Tutorial全解讀(場景的循環以及敵人障礙物的生成)
Unity官方案例篇:Space Shooter Tutorial全解讀(場景的循環以及敵人障礙物的生成)

**************************************************************************************************************************************

然後就是子彈,敵人,障礙物的消除。案例的做法是建立了一個碰撞盒,從盒子裡出去的物體都将被銷毀,大大提升了性能,但是它頻繁的生成銷毀,也是很耗性能的!(後面會講到對象池技術,來進一步減少系統開銷。)

Unity官方案例篇:Space Shooter Tutorial全解讀(場景的循環以及敵人障礙物的生成)
Unity官方案例篇:Space Shooter Tutorial全解讀(場景的循環以及敵人障礙物的生成)

再然後就是敵人和障礙物的生成。由GameController開啟一個協程來進行随機生成(随機敵人/障礙物(第51行),随機地點(第52行))。對這裡的協程調用順序不清楚地同學可以看一下我這篇部落格

https://blog.csdn.net/qq_15020543/article/details/82701551

然後GameController裡面還有一些GUI Text方面的邏輯,很簡單,這裡不再贅述。

Unity官方案例篇:Space Shooter Tutorial全解讀(場景的循環以及敵人障礙物的生成)

然後給對應的遊戲物體挂上對應的腳本,就可以了。