无法改变字段值

时间:2012-08-31 17:58:03

标签: c# xna field

编辑:发现它。播放器构造函数中存在错误。我改变了我的游戏系统,因此它使用了ID和entites。在此之前,我必须做一切新的实例。我忘了将库存初始化从构造函数放到PostInitialize(),所以它使用了非现有实体的null世界。谢谢大家。


我有一个问题。我正在做一个XNA游戏,我需要改变实体的地图,所以它可以做它的东西,但我遇到了一个问题。方法接收非null的参数映射,我将entity.currentMap设置为参数,但currentMap仍然为null。

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;
    }

1 个答案:

答案 0 :(得分:1)

首先,你说map 肯定是在传入时不是null。因此,有两种可能性。

一: currentMap的设置器无效。发布与setter关联的代码,或者确保它实际上通过插入它来正确地存储值。确保在下一行,值仍然存在。

二:该值在方法的其他位置丢失。您确定LoadTextures和/或PostInitialize未清除currentMap变量吗?