我做了一个游戏,我在几个圆圈中产卵,随着时间的推移逐渐缩小,直到它们消失为止。问题是,我用实例化函数制作了所有的圆圈。这创造了" 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);
}
答案 0 :(得分:1)
错误消息说明了一切;你不能Destroy()
变换。你必须将它应用于GameObject。
更改为Destroy(Ball.gameObject);
应该实现这一目标。