forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Полет пули (http://forum.boolean.name/showthread.php?t=3187)

Errant 19.04.2007 18:56

Полет пули
 
Такая проблема: делаю FPS, надо сделать полет пули и определять ее коллизии со стенами. Весь уровень сделан в виде массива, в котором указываются стены\проходы. Помогите, плиз.:''((

HolyDel 20.04.2007 01:16

Re: Полет пули
 
0. какой двиг?
1. в виде какого массива? какая размерность? как указываются стены/проходы? как организован класс пули?
2. исходник в студию, или описывайте подробненько.

Errant 22.04.2007 19:35

Re: Полет пули
 
0. А движка нету.
1. Ну, массив BYTE, размерность 3, стены указываются цифрами 1, 2, 3, проходы - 0. класс пули, не сделан.
2. Игра простенькая - Лабиринт. Наша задача выбраться из него, лабиринт уже сделан, в него добавлен туман, все коллизии сделаны. Теперь захотел сделать врагов, что б интересней было. Зафигачил прицел, наложил на него Тга картинку с прозначностью. Воть в принципе и все.


Зы: Сорри, что долго не отвечал, меня дома не было.

alcoSHoLiK 22.04.2007 22:22

Re: Полет пули
 
Так это, преобразовывать координаты пули в номер эелемента массива и проверять, какая там цифра стоит.
Если предположить, что верхний левый угол лабиринта находится в точке (0; 0), а CELL_SIZE - ширина, длина и высота одной клетки матрицы, то:
Код:

int i = bullet.y / CELL_SIZE;
int j = bullet.x / CELL_SIZE;
int k = bullet.z / CELL_SIZE;

if (maze[i][j][k] == 0) {
  // столкновения не было
}
else {
  // твой код
}



Часовой пояс GMT +4, время: 16:22.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot