7. 在_Scripts目錄下新增BackgroundPropSpawner.cs程式腳本
using UnityEngine;
using System.Collections;
public class BackgroundPropSpawner : MonoBehaviour {
public Rigidbody2D backgroundProp; //待生成的背景預製物件
public float leftSpawnPosX; //左側生成位置x座標
public float rightSpawnPosX; //右側生成位置x座標
public float minSpawnPosY; //生成位置y座標區間最小值
public float maxSpawnPosY; //生成位置y座標區間最大值
public float minTimeBetweenSpawns; //生成間隔時間最小值
public float maxTimeBetweenSpawns; //生成間隔時間最大值
public float minSpeed; //最小移動速度
public float maxSpeed; //移動速度最大值
void Start () {
Random.InitState(System.DateTime.Today.Millisecond);
StartCoroutine("Spawn"); //起始Spawn程序
}
隨機產生背景動畫物件 1/6
7
9. while (propInstance != null) {
if (facingLeft) {
if (propInstance.transform.position.x < leftSpawnPosX - 0.5f)
Destroy(propInstance.gameObject);
}
else {
if (propInstance.transform.position.x > rightSpawnPosX + 0.5f)
Destroy(propInstance.gameObject);
}
yield return null;
}
}
}
隨機產生背景動畫物件 3/6
9
10. 新增空物件,命名為swanCreator
重置Transform
加入BackgroundPropSpawner.cs程式腳本
拖曳Prefabs/Props/swan.prefab到Prop欄
Left Spawn Pos X = -24
Right Spawn Pos X = 24
Min Spawn Pos Y = 4
Max Spawn Pos Y = 8
Min Time Between Spawns = 2
Max Time Between Spawns = 8
Min Speed = 5
Max Speed = 8
測試遊戲,天空會隨機有天鵝飛過
隨機產生背景動畫物件 4/6
10
11. 新增空物件,命名為busCreator
重置Transform
加入BackgroundPropSpawner.cs程式腳本
拖曳Prefabs/Environment/Bus.prefab到Prop欄
Left Spawn Pos X = -24
Right Spawn Pos X = 24
Min Spawn Pos Y = -5.5
Max Spawn Pos Y = -5.5
Min Time Between Spawns = 8
Max Time Between Spawns = 18
Min Speed = 5
Max Speed = 8
測試遊戲,街道會隨機有巴士通過
隨機產生背景動畫物件 5/6
11
12. 新增空物件,命名為cabCreator
重置Transform
加入BackgroundPropSpawner.cs程式腳本
拖曳Prefabs/Environment/Cab.prefab到Prop欄
Left Spawn Pos X = -24
Right Spawn Pos X = 24
Min Spawn Pos Y = -6.4
Max Spawn Pos Y = -6.4
Min Time Between Spawns = 10
Max Time Between Spawns = 15
Min Speed = 5
Max Speed = 8
測試遊戲,街道會隨機有計程車通過
隨機產生背景動畫物件 6/6
12
57. 設定Pickups Spawner
拖曳Assets/Prefabs/Props/bombCrate.prefab到Pickups欄
拖曳Assets/Prefabs/Props/healthCrate.prefab到Pickups欄
Pickup Delivery Time = 5
Drop Range Left = -15
Drop Range Right = 15
High Health Threshold = 75
Low Health Threshold = 25
測試遊戲,會隨機飄下道具
玩家Player Health之Health值小於25時,⼀定飄下急救箱
玩家Player Health之Health值大於75時,⼀定飄下炸彈
空投道具 4/4
57
59. 將Assets/Prefabs/Props/explosionParticle.prefab加到場景
選取Assets/Prefabs/Props/bomb.prefab
Sorting Layer = Character
在Mr.Bean加入LayBombs.cs程式腳本
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class LayBombs : MonoBehaviour {
[HideInInspector]
public bool bombLaid = false; //玩家是否已放置炸彈
public int bombCount = 0; //玩家擁有的炸彈道具個數
public AudioClip bombsAway; //玩家放置炸彈時的語音
public GameObject bomb; //炸彈預製物件
private RawImage bombHUD; //炸彈道具圖示參照,當玩家擁有後就會開啟圖示
玩家放置炸彈 1/3
59