столкновение спрайтов
|
|
sanee | Дата: Четверг, 01.12.2011, 14:36 | Сообщение # 1 |
Новичок
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация:
« 1 »
Статус: Offline
| дело в том что я программирую на телефоне и не могу подключать либы. Скажите как сделать столкновение картинок?
|
|
| |
PassCall | Дата: Четверг, 01.12.2011, 21:17 | Сообщение # 2 |
Знающий
Группа: Проверенные
Сообщений: 89
Награды: 0
Репутация:
« 4 »
Статус: Offline
| if (abs(x1-x2)<(ImageWidth(image1)+ImageWidth(image2))/2.0) or (abs(y1-y2)<(ImageHeight(image1)+ImageHeight(image2))/2.0) then ..........
или более правильно:
a:=abs(x1-x2); b:=abs(y1-y2); c:=trunc((ImageWidth(image1)+ImageWidth(image2))/2.0); d:=trunc((ImageHeight(image1)+ImageHeight(image2))/2.0);
if (a<c) or (b<d) then .......................
|
|
| |
121212 | Дата: Четверг, 01.12.2011, 21:51 | Сообщение # 3 |
Программист
Группа: Проверенные
Сообщений: 268
Награды: 7
Репутация:
« 14 »
Статус: Offline
| паскаль твой код всегда труднопонимаемый:D т.к. дохрена не нужных вычислений=) Code if (px+24>zx) and (pX<zx+24) and (py+24>zy) and (pY<zy+24) then столкновение=) py,px координаты игрока zx,zy координаты тайла. 24 эт размер тайла и игрока в пикселях(24х24).
Сообщение отредактировал 121212 - Четверг, 01.12.2011, 21:53 |
|
| |
PassCall | Дата: Четверг, 01.12.2011, 23:04 | Сообщение # 4 |
Знающий
Группа: Проверенные
Сообщений: 89
Награды: 0
Репутация:
« 4 »
Статус: Offline
| ну 1. если размеры спрайта не одинаковы, то нужно вычесть расстояние, на котором они сталкиваются (половина от первого спрайта+половина от второго спрайта)
2. а если размер спрайтов заранее не известен? например, при "скармливании" функции определённых спрайтов?
|
|
| |
sanee | Дата: Пятница, 02.12.2011, 13:37 | Сообщение # 5 |
Новичок
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация:
« 1 »
Статус: Offline
| большое спасибо
|
|
| |
sanee | Дата: Пятница, 02.12.2011, 13:39 | Сообщение # 6 |
Новичок
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация:
« 1 »
Статус: Offline
| скажите пожалуйста а процедура может использвать переменные объявленные в главной программе?
|
|
| |
PassCall | Дата: Пятница, 02.12.2011, 14:32 | Сообщение # 7 |
Знающий
Группа: Проверенные
Сообщений: 89
Награды: 0
Репутация:
« 4 »
Статус: Offline
| может, конечно
|
|
| |
sanee | Дата: Пятница, 02.12.2011, 15:26 | Сообщение # 8 |
Новичок
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация:
« 1 »
Статус: Offline
| Спасибо)
|
|
| |