C# 如何区分旧的实例化对象和新的实例化对象?

C# 如何区分旧的实例化对象和新的实例化对象?,c#,unity3d,C#,Unity3d,图标和插槽是数组。第一个命令告诉程序实例化什么,第二个命令告诉程序实例化哪里。四元数。恒等式意味着没有旋转 我想做的是:复制一个图像并将其放置在插槽中,然后如果在旧图像上放置另一个图像,则旧图像应该被销毁 发生了什么:一切都正常,除了旧的不会被破坏,新的坐在旧的上面。我的意思是它当然不会被破坏,因为我没有编程,但这是我的问题。只有IconClone时,如何销毁(旧克隆)?如何向函数引入旧克隆的概念 一个想法是为原始图像设置一个标签(比如oldImage)。实例化时,使用该标记销毁对象,然后将ol

图标和插槽是数组。第一个命令告诉程序实例化什么,第二个命令告诉程序实例化哪里。四元数。恒等式意味着没有旋转

我想做的是:复制一个图像并将其放置在插槽中,然后如果在旧图像上放置另一个图像,则旧图像应该被销毁


发生了什么:一切都正常,除了旧的不会被破坏,新的坐在旧的上面。我的意思是它当然不会被破坏,因为我没有编程,但这是我的问题。只有IconClone时,如何销毁(旧克隆)?如何向函数引入旧克隆的概念

一个想法是为原始图像设置一个标签(比如
oldImage
)。实例化时,使用该标记销毁对象,然后将
oldImage
标记添加到新图像中,以便在实例化另一个图像时销毁该对象

 public void PlaceIconToSlot() //gets called by a button
{ 
    GameObject IconClone = Instantiate(Icons[properIconIndex], Slots[properSlotIndex].transform.position, Quaternion.identity);
}

我没试过,但值得一试

一个想法是为原始图像设置一个标签(比如
oldImage
)。实例化时,使用该标记销毁对象,然后将
oldImage
标记添加到新图像中,以便在实例化另一个图像时销毁该对象

 public void PlaceIconToSlot() //gets called by a button
{ 
    GameObject IconClone = Instantiate(Icons[properIconIndex], Slots[properSlotIndex].transform.position, Quaternion.identity);
}

我没试过,但值得一试

既然调用了函数
PlaceIconToSlot
,我猜您可能有一个
Slot
组件。如果是这样的话,您可以向其中添加一个成员变量来保存当前图标(假设每个插槽只有一个图标),然后使用它

大概是这样的:

public void PlaceIconToSlot() //gets called by a button
{ 
    GameObject IconClone = Instantiate(Icons[properIconIndex], Slots[properSlotIndex].transform.position, Quaternion.identity);
    Destroy(GameObject.FindWithTag("oldImage"));
    IconClone.gameObject.tag="oldImage";
}

如果您在某个集中点执行上述函数,则可能会将参数(要实例化的新图标)传递到此函数。类似于
SpotXYZ.PlaceIcon(icon)
SpotXYZGameObject.GetComponent().PlaceIcon(icon)
的东西,因为调用函数
PlaceIconToSlot
我猜,您可能有一个
Slot
组件。如果是这样的话,您可以向其中添加一个成员变量来保存当前图标(假设每个插槽只有一个图标),然后使用它

大概是这样的:

public void PlaceIconToSlot() //gets called by a button
{ 
    GameObject IconClone = Instantiate(Icons[properIconIndex], Slots[properSlotIndex].transform.position, Quaternion.identity);
    Destroy(GameObject.FindWithTag("oldImage"));
    IconClone.gameObject.tag="oldImage";
}

如果您在某个集中点执行上述函数,则可能会将参数(要实例化的新图标)传递到此函数。类似于
SpotXYZ.PlaceIcon(icon)
SpotXYZGameObject.GetComponent().PlaceIcon(icon)

您可以随时跟踪旧iconclone…您可以随时跟踪旧iconclone。。。