|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.03.2014, 16:19 | #1 |
Пользователь
Регистрация: 15.12.2013
Сообщений: 42
|
Правильное пересечение Rectangl-ов в C# (Windows Forms)
Здравствуйте.
По событию KeyDown формы, проверяю пересечение двух Rectangl-ов с помощью IntersectWith однако как сделать так, чтобы какие-то события при intersect == true происходили сразу же, а не при последующем нажатии какой-либо клавиши? Что я имею ввиду: к примеру If (Key.Code == Keys.T) { if (Rect1.IntersectWith (Rect2) == true) MessageBox.Show("пересеклись"); else * другие действия * } у меня сообщение "пересеклись" выводится, уже когда ректанглы и так пересечены и я повторно совершаю какое-то действие, а мне нужно выводить сразу же при первом же пересечении Подскажите пожалуйста. |
21.03.2014, 18:57 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
А что ректанглы делают ? двигаются по таймеру/движению мыши ? если да, то и проверяйте пересечение по таймеру/движению мыши.
В общем, картина неполная, чтобы что-то говорить однозначно. |
24.03.2014, 02:34 | #3 |
Пользователь
Регистрация: 15.12.2013
Сообщений: 42
|
пробовал и таймером и по нажатию кнопок клавы - результат один: проверяет уже имеющее пересечение, а мне нужно проверить столкновение, т.е. если идем вплотную к ректанглу и жмем в его стоорону- делаем ккие-то действия, то есть в одно передвижение, а не в два.
можете что-то подсказать? |
24.03.2014, 10:16 | #4 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
По нажатию кнопки "Двигаться вправо/влево/вверх/вниз/и т.д.":
1) Запоминаем текущие координаты прямоугольника 2) Изменяем координаты прямоугольника (т.е. сдвигаем его куда надо) 3) Проверяем на пересечение 4) Если пересечение есть, то изменяем координаты прямоугольника на те, которые запомнили в п.1 и выводим табличку "БАБАХ!"
Благодарить в репутацию. Проклинать — туда же
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
с# windows forms | Илья2014 | Windows Forms | 2 | 15.02.2014 22:38 |
Windows Forms С++ | Aleks1994 | Помощь студентам | 2 | 04.04.2013 18:40 |
Функция в Windows Forms | Spaun1 | Общие вопросы C/C++ | 1 | 10.11.2012 12:04 |
Windows Forms | masashama | Windows Forms | 12 | 14.02.2011 16:14 |
windows.forms | *stRong* | Помощь студентам | 0 | 04.06.2010 04:39 |