我有一个看起来像这样的二维数组
{0,0,0,0},
{1,1,1,1},
{2,2,2,2},
{2,2,2,2},
然后在我的绘制方法中,我循环遍历数组
if(index == 0)
{
"I got a Wheat class an now I would like to call the wheat.draw,wheat.update etc."
}
但是,如果我做了像
这样的事情var wheat = new Wheat();
wheat.LoadContent(), wheat.draw ect
它会在每次发现0时创建一个新的小麦对象,然后它会调用构造函数来重置我的变量,这样小麦就不会生长。我该如何以正确的方式做到这一点
(我还有Grass和Dirt瓦片的课程)。
答案 0 :(得分:0)
每次使用
创建一个新对象var wheat = new Wheat()
为什么不尝试将它分类到你班级的私人领域呢
private Wheat _wheat;
在你的创作方法中分配
_wheat = new Wheat()
这样您就不会每次都创建它。在创建Object之前,您始终可以检查_wheat是否为null。
如果您要维护多个小麦实例。尝试将其存储在适合您逻辑的集合/词典中。在您提供更多信息之前,很难建议逻辑。
修改强>
同样,如果不仔细研究现有的设计/要求,很难说。在我的头脑中,我有很多未解答的问题 - 你可以保留的一件事是每种类型物体的集合 -
ObservableCollection<wheat>,<grass> etc...
但是在你有办法区分一个物体与其他物体之前,这不会解决问题。您应该能够在需要时根据某些ID获取它们。这只是你必须自己解决的建议。