无法在特定点停止移动phisture框



我必须创建一个流量模拟器,我想移动汽车(picture框),而交通灯不红,并且在红色时停止,在流量光。交通信号灯是3个pannels变色。

我的问题是我的汽车在符合红色交通信号灯时不会停止。我尝试了" picturebox.location.x"one_answers" picturebox.left",但它只是行不通的,picturebox只是继续移动。当汽车遇到交通点燃点时,我还尝试抛出一个消息框,只是为了查看" picturebox.location.x"是否有效,但仍然没有。好像它无法识别功能。

我试图用面板和图片框制作交通灯,但仍然相同。

Bellow我到目前为止向您发送了我的代码:

    private void timerCar1_Tick(object sender, EventArgs e)
            {
                //timerCar2.Enabled = true;
                if(panelRed.BackColor == Color.Red)
                {
                    car1.Left -= 5;
                }                
 /* ---> */     else if (car1.Location.X == panelGreen.Location.X & panelRed.BackColor == Color.Red)
                {
                    car1.Left -= 0;
                }
                else if (panelGreen.BackColor == Color.Green)
                {
                    car1.Left -= 20;
                }
                else if (panelOrange.BackColor == Color.Orange)
                {
                    car1.Left -= 10;
                }
            }

您使用&。

 else if (car1.Location.X == panelGreen.Location.X & panelRed.BackColor == Color.Red)

我听说这可能导致意外行为。您的意思是使用逻辑"one_answers"(&&)?

 else if (car1.Location.X == panelGreen.Location.X && panelRed.BackColor == Color.Red)

我认为在逻辑中的C#中"one_answers" ypu可以使用两者&和&&。该问题是通过将像素移动从 = 20更改为 = 3来解决的,因此我认为我的图片框不会满足我设置为停止点的点,因为它正在移动20 20个像素。

相关内容

  • 没有找到相关文章

最新更新