對於繼承還是比較新的,所以我需要一些幫助。目前,我有一項任務是創建一個使用3種武器繼承的基本遊戲。我的基類:實例化一個繼承對象
public class Weapons : MonoBehaviour
{
public int rateOfFire;
public string myName;
public Weapons(string Name)
{
myName = Name;
}
}
而子類中的一種:
public class Rifle : Weapons
{
public Rifle(string Name)
: base(Name)
{
myName = Name;
rateOfFire = 5;
}
}
我的第一個問題來了這樣一個事實,如果我連這樣做對嗎?
我的第二個問題是如何將這些實例化到我的Unity場景中? 我已經寫了一個方法來切換武器,這是我的播放器腳本上的數組,所以我會在這裏插入一個實例化線或創建另一個方法?缺少一些線條,但這裏是它的只是:
public GameObject[] weapons;
public int currentweapon = 0;
private int invweap;
void Start()
{
//Managing weapons
invweap = weapons.Length;
SwitchWeapon(currentweapon);
}
void SwitchWeapon(int index)
{
for (int i = 0; i<invweap;i++)
{
if (i == index)
{
weapons[i].gameObject.SetActive(true);
}
else
{
weapons[i].gameObject.SetActive(false);
}
}
}
在繼承的類中調用'myName = Name;'是沒有必要的,因爲您調用基類並且基類已經這樣做了。 – Icemanind
爲什麼你需要在這裏繼承?你不使用任何繼承的優勢。 Unity3d中的每個對象都是從MonoBehaviour繼承而來的。 – Valentin
@Valentin因爲這就是任務所要求的,正如他所說的。 – Asik