2017-05-07 61 views
0

相當新的團結,但很快學習。實例化具有腳本遊戲物體施加

我有一個產卵哪個是哪個派生氣球空的遊戲物體。所產生的氣球對象具有應用其後的路標的移動腳本。

我遇到的問題是,我不能點擊並拖拽路標(也是空的遊戲對象)到公共變量上,我只能在氣球已被添加到遊戲層次結構中時才能做到這一點,但我產生了應用腳本的預製件,因爲我不希望它在遊戲中。如果我先將預製件添加到遊戲中,則可以設置遊戲對象的航點。

我怎樣才能解決這個問題,使我能夠航點遊戲對象添加到預製的資產?

+0

嗨!我認爲你應該前往Unity問答網頁。 [This](http://answers.unity3d.com/questions/21233/setting-properties-when-instantiating.html)應該回答你的問題。從本質上講,您應該通過編程方式設置您通常通過檢查器設置的屬性,無論它在您的代碼中是否在實例化GO。 –

回答

2

,你可以在運動腳本這個方法:

public void SetWayPoints(Transform[] waypoints) 
{ 
    this.wayPoints = waypoints; 
} 

當你實例化你的預製剛剛拿到組件,並設置點的方式;

GameObject baloon = Instantiate(baloonPrefab) as GameObject; 
var movementScript = baloon.GetComponent<Movement>(); 
if(movementScript != null) 
{ 
    movementScript.SetWayPoints(waypoints); 
} 

請注意,上面的代碼只是一個例子來說明這樣做的方法。您的腳本可以根據您的航點實施情況而有所不同。我認爲航點是一個運動腳本內的變換陣列,氣球一個接一個地追蹤它。另外spawner類在層次結構中有對路標的引用,並且你只是從spawner傳遞該數組。

希望這會有所幫助。 如果您有任何問題,請告知我。

+0

啊我看到這是如何工作的。我現在就試一試。是的,航點是一個變換數組。 – user2924019

+1

太棒了!現在就開始工作了。不夠感謝你。 – user2924019