交通シミュレータを作成する必要があります。交通信号が赤ではない間に車(ピクチャボックス)を移動し、赤のときに停止したい交通信号。 信号は3つの色が変わります。特定の地点で動画の停止をすることはできません
私の問題は、私の車が赤信号に会うと止まらないということです。私は "pictureBox.Location.X"と "pictureBox.Left"を試しましたが、動作しません。 "pictureBox.Location.X"が動作していても何も表示されていないかどうかを確認するために、信号機が車に合ったときにメッセージボックスを投げてみました。その機能を認識していないようです。
私は、パネルとピクチャボックスの両方でトラフィックライトを作成しようとしましたが、それでも同じです。
ベローは、私がこれまでにあなたに私のコードを送信します。
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;
}
}
あなたの問題に対して合理的であるよりも多くのコードを投稿したようです。 [ask]と[mcve]の作成方法をお読みください。MCVEを使用すると、ユーザーはあなたの質問に答えることができ、将来のユーザーはあなたの問題に関係します。 – rene
コードのデバッグを学ぶ時間。ブレークポイントを設定し、変数を監視し、一度に1行ずつコードを実行し、実際に分岐する予定のコードを調べます。必要に応じて修正してください。また、[質問]を読んで[ツアー]をする過去の時間。 1つの信号機を走らせるのに3つのタイマーは必要ありません。 – Plutonix
車両の移動や停止のアルゴリズムは 'timerCar1_Tick'メソッドのようです。したがって、あなたはあなたの質問から他のすべてのコードを削除し、説明することができます:** 1)**あなたがそのコードで何をしようとしているか** 2)** 'panelRed'などが何であるかを説明してください。その後、私たちはあなたを助けることができるでしょう。今、あなたはそのコードで何をしているのか分かりません。プラスコードの残りはちょうどノイズです。 – CodingYoshi