无法更改字段值
编辑:找到它。玩家构造函数有错误。我改变了我的游戏系统,所以它使用ID和瓷砖。在此之前,我不得不做所有事情的新例子。我忘了将库存从构造函数初始化到PostInitialize(),所以它使用了非现有实体的空世界。谢谢你们。无法更改字段值
我有一个问题。我正在做一个XNA游戏,我需要更改实体的地图,以便它可以做到这一点,但我遇到了一个问题。方法接收不为空的参数映射,我将entity.currentMap设置为参数,但currentMap仍然为空。
public Entity getCopy(Vector2 po, Map.Map map)
{
Entity t = (Entity)this.MemberwiseClone();
t.currentMap = map;
t.Position = po;
t.LoadTextures();
t.PostInitialize();
return t;
}
首先,你说map
是绝对不为空时,正在通过。因此,有两种可能性。
其中一个:该设置为currentMap
不起作用。或者发布与setter关联的代码,或者通过步入其中来确保其实际存储值。确保在下一行,值仍然存在。
二:该方法中的其他值正在丢失。您确定LoadTextures
和/或PostInitialize
未清除currentMap
变量吗?
currentMap是字段,而不是属性。也许有一个PostInitialize错误,这将解决为什么子弹bug如此之多的神秘。 – RisaI
调试器是你的朋友.. –
你是在谈一些调用函数中的t.currentMap或entity.currentMap吗?如果你在这个方法上设置了一个断点,你是说'map'不是null并且t.currentMap仍然是空的? – itsme86