Обнаружение столкновения между 2 картинными коробками - PullRequest
0 голосов
/ 26 октября 2011

Я занимаюсь разработкой игры и пытаюсь выполнить обнаружение столкновений для 2 графических блоков. У меня есть таймер, который отвечает за перемещение шипа (врага) в сторону ящика (моего персонажа).

Вот мой код:

private void tmrSpike_Tick(object sender, EventArgs e)
        {
            // Spike moving left interval
            spike1.Left -= 6;

            if (picSquare.ClientRectangle.IntersectsWith(spike1.ClientRectangle))
                MessageBox.Show("sd");


            if (spike1.Left + spike1.Width < 0)
                spike1.Left = ActiveForm.Width;

        }

PictureBoxes:
spike1
picSquare

Как мне сделать так, чтобы, когда коробка (персонаж) поражала шипа (врага), показывал предупреждение?

Примечание: только шип движется к коробке. Коробка прыгает вверх и опускается только при нажатии клавиши вверх. Моя концепция игры очень похожа на это: http://www.flukedude.com/theimpossiblegame/

1 Ответ

1 голос
/ 26 октября 2011

Вы используете неправильное свойство. ClientRectangle - это прямоугольник относительно элемента управления. Вы хотите использовать свойство Bounds относительно контейнера. Это легко увидеть в отладчике, попробуйте поработать с ним.

...