我遇到一个问题,我在调用onClick方法时正在更改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());
}
}
}
的图像。
然而,重新加载后,我在场景中出现重复问题(即离开场景然后再回来)。
我尝试通过在重新进入场景时销毁正确的副本来解决此问题。然而,旧的(改变的)精灵(我想保留的精灵)不断被破坏,而新的精灵仍在那里。
这是我保存和销毁精灵的代码的一部分:
!markedObjects.Contains(c)
我真的不明白destroySprite条件database.driverClassName=oracle.jdbc.OracleDriver
database.url=jdbc:oracle:thin:@192.33.333.33:1530:sid
database.username=user
database.password=pass
#DB2
database2.driverClassName=oracle.jdbc.OracleDriver
database2.url=jdbc:oracle:thin:@192.33.333.33:1530:sid
database2.username=user2
database2.password=pass
如何在仍然销毁不正确的精灵的情况下传递。
非常感谢任何帮助。
答案 0 :(得分:0)
private void destroySprite(Clue c){< - 我假设Clue c是你要销毁的精灵
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());
}
}
}