我正在制作一个玩家四处移动并被跟踪的游戏。但随着用户跟随很多事情,我想知道是否有办法用一个名称来引用所有这些东西。我正在按照这样的方式跟踪用户:
if (user.Top < thing1.Top)
thing1.Top += 5;
else
thing1.Top -= 5;
if (user.Left < thing1.Left)
thing1.Left += 5;
else
thing1.Left -= 5;
if (user.Top < thing2.Top)
thing2.Top += 5;
else
thing2.Top -= 5;
if (user.Left < thing2.Left)
thing2.Left += 5;
else
thing2.Left -= 5;
该代码将重复许多&#34;事情&#34;我包括。每件事都是一个单独的pictureBox。我想知道是否可以参考我所有的东西&#34;有一个名字。例如,如果我有50个thing.Top += 10
将它们全部移动。这可能吗?
答案 0 :(得分:1)
不确定&#34;是什么&#34;表示,但您可以将它们分组到一个集合中,只需在创建它时添加新的Thing
实例:
var things = new List<Thing> { thing1, thing2, thing3 };
然后遍历集合:
foreach (var thing in things)
{
thing.Left += (user.Left < thing.Left) ? 5 : -5;
...
}
如果这是WinForms
,无论怎样,游戏都会变得非常慢,但我想你已经知道如果你一直在玩它。