![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 27.11.2008
Сообщений: 137
|
![]()
Нужно что бы картинка не проходила через другую картинку при передвижении (нужно чтобы было столкновение)
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 13.11.2008
Сообщений: 14
|
![]()
371868291 - стучись решим с нуля.
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
![]()
В простом варианте это должно выглядеть примерно так:
XPic1, YPic1 - координаты 1-го рисунка XPic2, YPic2 - 2-го При горизонтальном движении слева направо даешь приращение(dx) к Х координате 1-го рисунка - XPic1:= XPic1 + dx и проверяешь не "наполз" ли 1-й рисунок на второй: Код:
При движении по вертикали аналогично, поменять только X и Y местами. Для конкретного кода надо и конкретные условия задачи.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 10.12.2007
Сообщений: 158
|
![]()
Так же можно задавать радиус и центр картинки и считать, чтоб растояние между центрами было больше суммы радиусов, иначе столкновение (это если объекты более сферообразны).
Только имейте ввиду, что эти способы (с дискретным приращением, указаный выше например) обладают одним существенным недостатком: если скорость движения сильно больше размера картинки, то они могут "проскочить" сквозь друг друга без столконовения на очередной итерации процесса движения. Движение то дискретное в такой модели. Если Вы моделируете физические процессы, то вам надо высчитывать траектории на каждой итерации и при пересечении вычислять момент столкновения. Но для простой проги типа "скачущие шарики" это подходит. |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
![]()
Здесь алгоритмов уйма.Можно, зная направление движения, по координатам просчитать расстояние до "места встречи" и затем определить количество итераций движения до столкновения. Т.е. все таки надо знать более конкретно условия задачи.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамичесое создание объекта | Черничный | Общие вопросы Delphi | 8 | 29.06.2008 23:01 |
Автоматическое уничтожение объекта | mutabor | Общие вопросы Delphi | 6 | 25.06.2008 22:25 |
EnumWindows внури объекта | King Nothing | Win Api | 10 | 24.06.2008 07:43 |
Определение цвета объекта | Tan4ik | Помощь студентам | 4 | 16.06.2008 15:53 |
Свойства объекта | KBak | Win Api | 5 | 15.08.2007 20:21 |