Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
1

Остановка Таймера при соприкосновении объектов на форме

03.12.2012, 20:15. Просмотров 1212. Ответов 11
Метки нет (Все метки)


Всем привет!
ребят столкнулся с такой проблемой
Имеется 2 лейбла 4 и 5. 4 Это грубо говоря стена, а 5 это объект движующийся по форме. Мне нужно, чтоб таймер останавливался при наезде на лейбл 4, вот что я написал:
C#
1
2
3
4
5
6
7
        private void right_Tick(object sender, EventArgs e)
        {
            Point cor = label5.Location;
            if (cor.X == label4) right.Stop();
 
                cor.X++;
                label5.Location = cor;
Так выдает ошибку,
Пробовал вот так
C#
1
2
3
4
5
6
7
        private void right_Tick(object sender, EventArgs e)
        {
            Point cor = label5.Location;
            if (label5 == label4) right.Stop();
 
                cor.X++;
                label5.Location = cor;
ошибки нет, но объект так же двигается без остановки!
Как нужно сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2012, 20:15
Ответы с готовыми решениями:

Размещение объектов в пределах формы и отражение двух объектов при соприкосновении
Помогите с задачей, чтобы круг летал по форме и соприкасаясь с квадратом отталкивался от него....

Удалить один из объектов и увеличить другой при соприкосновении объектов.
Как сделать так чтобы (Когда Sprite1 дотронулся до Sprite2 тогда sprite2 destroy и Sprite1 + size)...

Уничтожение объектов при соприкосновении
Может кто поможет. Начал делать простую игру. Пули летят и при попадании в движущийся объект...

Увеличение скорости объектов при их соприкосновении
Здравствуйте. помогите пожалуйста доделать пункты: 1) Добавить возможность выбора скорости...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
11
622 / 491 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
03.12.2012, 20:26 2
label5 и label4 это что?
ссылки на какие-то объекты?
А они могут принимать одинаковые значения?

или таки имелось в виду if (label5.X == label4.X) ?
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 20:29  [ТС] 3
да грубо говоря имелось ввиду это! лебл 5 это прямоуголник, лебл 4 это стена нужно что при столкновении со стеной лебл5 останавливался!
0
622 / 491 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
03.12.2012, 20:35 4
я бы сравнивал не на == а на >=
и не знаю, что там за таймер, но я обычно управляю свойством таймера Enabled. Ну или вообще не останавливаю таймер, а просто проверяю условие для принятия решения что делать, а таймер один вечный.
1
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 20:42  [ТС] 5
все спаибо, разобрался вроде
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 20:51  [ТС] 6
Есть еще одна проблемака:
Размеры фигуры начинают считаться с лева! И у меня такая проблема он как бы заезжает на стену а останавливается только своим концом, а не началом! Как эту осуществить, для наглядности вот:
P.s проверять только движение на право!
0
Вложения
Тип файла: rar Debug.rar (14.5 Кб, 4 просмотров)
622 / 491 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
03.12.2012, 20:53 7
Тогда сравнивать надо не с X а с X+Ширина
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 21:02  [ТС] 8
можно посмотреть как это должно выглядеть?
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 21:04  [ТС] 9
можно посмотреть как это должно выглядеть?

Добавлено через 1 минуту
можно посмотреть как это должно выглядеть?
0
622 / 491 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
03.12.2012, 21:09 10
Вы не знаете ширину фигуры?
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 22:09  [ТС] 11
почему знаю! 31, но как это оформить? в коде

Добавлено через 10 минут
Все сделал Спасибо!

Добавлено через 48 минут
Еще 1 вопросик. Как увеличить скорость передвижения объекта? В самих таймерах везде выставлено по 1, ниже уже нельзя, а объект серавно движется медленно!
0
622 / 491 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
04.12.2012, 10:49 12
1 ms это медленно? 1000 шагов в секунду это мало?
Ну тогда надо шагать через 2 пикселя.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2012, 10:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Анимация: при соприкосновении двух объектов они должны образовать единое целое
Здравствуйте! Разбираюсь в анимациях Lazarus. Сделал так, чтобы два шарика (TShape) летали по форме...

Остановка таймера при отображении диалога
Добрый день. Подскажите, хочу написать свой таймер, который будет служить в качестве часов. При...

Остановка таймера при достижении определенного времени
вообщем реализовываю таймер и столкнулся с проблемсом мне нужно что бы в if как только таймер...

Остановка таймера обратного отчета при выделении ячеек листа
Уважаемые форумчане, доброго времени и здравия! Создал макрос обратного отчета времени и столкнулся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.