无法删除使用实例化功能创建的克隆

时间:2015-02-10 09:57:37

标签: unity3d unityscript

我做了一个游戏,我在几个圆圈中产卵,随着时间的推移逐渐缩小,直到它们消失为止。问题是,我用实例化函数制作了所有的圆圈。这创造了" Ball(克隆)"每当我尝试使用Destroy(GameObject)摆脱其中一个时,我得到以下错误。

  

不能销毁' Ball(克隆)'的变换组件。如果你想破坏游戏对象,请致电' Destroy'而是在游戏对象上。不允许销毁转换组件。

要明确的是,球的创建是由附在空子上的一个脚本处理的,而破坏是附在球上的另一个脚本。它们如下。

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 个答案:

答案 0 :(得分:1)

错误消息说明了一切;你不能Destroy()变换。你必须将它应用于GameObject。

更改为Destroy(Ball.gameObject);应该实现这一目标。