好的,所以我正在研究一个游戏引擎,我希望能够在勾选复选框时让不同的面板(游戏引擎的对象)移动
但是,我只是不知道该怎么做。
private void Timer_Tick(object sender, EventArgs e)
{
foreach (KeyValuePair<string, Panel> kvp in objects)
{
if (running)
{
Point loc = kvp.Value.Location;
loc.X = loc.X + 1;
kvp.Value.Location = loc;
}
}
}
因此,对于此代码,所有对象都向左移动,但是我说我只想移动一个对象而其他对象保持静止,我该怎么做?
我有一个您输入的文本框来查找对象,但您必须单击按钮才能找到它。
这只是引擎中一个非常令人困惑的部分,我向自己承诺,我不会放弃它。
答案 0 :(得分:0)
试试这个。
首先为您的对象提供合理的名称,用户可以从UI中看到这些名称作为面板名称,然后根据这些名称识别它们。
所以panel1的文本应该是“panel1”。
虽然我没有尝试过,但这段代码应该可以使用。
private void Timer_Tick(object sender, EventArgs e)
{
foreach (KeyValuePair<string, Panel> kvp in objects)
{
if (running && textbox1.Text.Trim() == kvp.Name.Trim()) // you could also do null check if you like
{
Point loc = kvp.Value.Location;
loc.X = loc.X + 1;
kvp.Value.Location = loc;
}
}
}
我不明白你的意思是不同的方向,如果你想让它们以不同的随机方向移动那么你会产生1到2之间的随机数,那么如果数字为1则你做loc.X +1但是如果它是2 loc.X -1。如果您希望用户选择方向,则可以为其创建组合框。