2015-02-10 39 views
0

我製作了一個遊戲,我在幾個圈子中產卵,隨着時間的推移,它們會縮小,直到它們應該消失。問題是,我使用實例化功能創建了所有的圓。這會創建「Ball(克隆)」,每當我嘗試使用Destroy(GameObject)來擺脫其中的一個時,我會得到以下錯誤。無法刪除使用實例化函數製作的克隆

無法銷燬'Ball(克隆)'的Transform組件。如果您想銷燬遊戲對象,請改爲在遊戲對象上調用「銷燬」。不允許銷燬轉換組件。

爲了清楚起見,球的創建由一個附在空子上的腳本來處理,並且銷燬是附在球上的另一個腳本。他們如下。

var Xpos : float;  
var Ypos : float;  
var Ball : Transform; 

//Place ball 
function Update() 
{  
    if (Input.GetMouseButtonDown(0)) 
{ 
    //debugging 
    Xpos = Input.mousePosition.x; 
    Ypos = Input.mousePosition.y; 

    //Get mouse input and convert screen position to Unity World position 
    var position : Vector3 = Camera.main.ScreenToWorldPoint(Input.mousePosition); 
    Instantiate(Ball,Vector3(position.x,position.y,1),Quaternion.identity); 
} 
} 

//刪除球

#pragma strict 

var Ball : Transform; 

function Update() 
{ 
    Ball.animation.Play("Shrink"); 
} 


function Despawn() 
{ 
    Destroy(Ball); 
} 

回答

1

錯誤消息說,這一切;你不能Destroy()一個變換。您必須將其應用於GameObject。

更改爲Destroy(Ball.gameObject);應該可以達到這個目的。

+0

謝謝巴特,像一個魅力! – 2015-02-10 18:16:40