初心者ですので、私は第2週目ですので、ちょっと練習するためにC#で簡単な「ピンポン」ゲームをコーディングしています。この言語を学ぶ "picsSchlägerRechts"を上下に動かすためのキーイベントを作成しようとしましたが、うまくいきましたが、パネルから移動しないように "制限"することはできません。何か案は?最大/最小yより(C#)オブジェクトの移動を制限することはできません
private static bool conditionUP ;
private static bool conditionDown ;
private void frmPingPong_KeyDown(object sender, KeyEventArgs e)
{
{
if (!(picSchlägerRechts.Location.Y == 0 && picSchlägerRechts.Location.Y == 249)) {
conditionDown = true;
conditionUP = true;
}
if (e.KeyCode == Keys.W && conditionUP == true)
{
picSchlägerRechts.Location = new Point(picSchlägerRechts.Location.X, picSchlägerRechts.Location.Y - ms);
if (picSchlägerRechts.Location.Y == 0)
{
conditionUP = false;
}
}
if(e.KeyCode == Keys.S && conditionDown == true)
{
picSchlägerRechts.Location = new Point(picSchlägerRechts.Location.X, picSchlägerRechts.Location.Y + ms);
if (picSchlägerRechts.Location.Y == 298)
{
conditionDown = false;
}
}
'ms'は何ですか? ==の代わりに '<= 0' and '> = 249' –
を使用してください。申し訳ありませんが、これを含めるのを忘れてしまった、それはmovementspeedの変数です。 –
あなたのmovementSpeedが0を超えてジャンプする変数に設定されていれば、 '== 0'の条件に当てはまることはありません。代わりに' <= 0'を使用し、位置から移動速度を引いた値が0代わりに0に設定してください。 –