我有一个问题,当调用 onClick 方法时,我正在更改
SpriteRenderer
的图像。
但是,重新加载场景后,我遇到了场景重复的问题(即离开场景然后再次返回)。
我尝试通过在重新进入场景时销毁正确的副本来解决这个问题。然而,旧的(已更改的)精灵(我想保留的精灵)不断被破坏,而新的精灵仍然存在。
这是我保存和销毁精灵的代码的一部分:
private void saveSprite(Clue c){
markedObjects.Add(c);
Debug.Log ("Save");
DontDestroyOnLoad (c.getSprite());
create = true;
}
private void destroySprite(Clue c){
foreach(Clue g in markedObjects){
print (g);
if (!markedObjects.Contains(c)){
Debug.Log("Destroy");
Destroy (c.getSprite());
}
}
}
我真的不明白如何在销毁不正确的精灵的同时传递 destroySprite 条件
!markedObjects.Contains(c)
。
任何帮助将不胜感激。
private void destroySprite(Clue c){ // <-- I assume Clue c is the sprite you want to destroy
foreach(Clue g in markedObjects){ // <-- get each Clue in markedObjects
print (g);
if (!markedObjects.Contains(c)){ // <-- if c is not within all of markedObjects then destroy c? Perhaps you meant to destroy g.
Debug.Log("Destroy");
Destroy (c.getSprite());
}
}
}