如何让一个名字指向多个图片框
本文关键字:一个 | 更新日期: 2023-09-27 18:17:28
我正在制作一款玩家四处移动并被跟踪的游戏。但是有很多东西跟着用户,我想知道是否有一种方法可以用一个名字来指代所有这些东西。我让这些东西像这样跟随用户:
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;
无论我包含多少"东西",该代码都将重复。每个东西都是一个单独的pictureBox。我想知道是否可以用一个名字来指代我所有的"东西"。例如,如果我有50个,thing.Top += 10
会移动它们。这可能吗?
不确定"thing"代表什么,但您可以将它们分组到一个集合中,并在创建它们时向其添加新的Thing
实例:
var things = new List<Thing> { thing1, thing2, thing3 };
然后遍历集合:
foreach (var thing in things)
{
thing.Left += (user.Left < thing.Left) ? 5 : -5;
...
}
如果这是WinForms
,那么无论如何它对于游戏来说都将是非常缓慢的,但我想你已经知道如果你一直在玩它。