Проблема со столкновениями
| |
Type | Дата: Воскресенье, 04.12.2011, 20:19 | Сообщение # 1 |
ламер
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
| Доброго времени суток! необходимо реализовать: по кнопке начать непрерывное движениедо тех пор, пока не столкнешься с объектом, далее остановка и дальнейшее аналогичное движение в другом направлении. Вопрос: как реализовать проверку на наличие коллизии? кое-что набросала: Graphics3D 640,480 cam=CreateCamera()
spher=CreateSphere() PositionEntity spher,5,0,5 EntityType spher,1
Cube=CreateCube() PositionEntity Cube,-2,0,5 EntityType Cube,2
While Not KeyHit(1) Collisions 1,2,2,1 MoveEntity spher,-0.05,0,0
UpdateWorld RenderWorld Flip Wend End
но это ерунда, т.к. оно движется пока клавиша не нажмется или с кубом не столкнется, а вот реализовать проверку на столкновения не получается
Сообщение отредактировал Type - Воскресенье, 04.12.2011, 20:34 |
|
| |
Nub | Дата: Воскресенье, 04.12.2011, 23:05 | Сообщение # 2 |
ламер
Группа: Пользователи
Сообщений: 37
Награды: 0
Репутация: 0
Статус: Offline
| Вот код: Graphics3D 640,480 Global dvig = -0.05 ;создаём переменную в которой скорость движения cam=CreateCamera() spher=CreateSphere() PositionEntity spher,5,0,5 EntityType spher,1 Cube=CreateCube() PositionEntity Cube,-2,0,5 EntityType Cube,2 Collisions 1,2,2,1 While Not KeyHit(1) If EntityCollided (spher,2) dvig=0.05 MoveEntity spher,dvig,0,0 UpdateWorld RenderWorld Flip Wend End
Но я его не доделал.В дебаггере выдаёт значение переменной dvig=0 не знаю почему.Завтра разберусь почему.
Лучшее - враг хорошего. Сделал ты игру, решил улучшить, а потом до ночи сидишь и думаешь, что же ты такого сделал.
|
|
| |
MishanayCool | Дата: Понедельник, 05.12.2011, 08:26 | Сообщение # 3 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Потому что переменная dvig у тебя объявлена как int, а надо как float. Вот так - dvig#
MiniDemo3D - Blitz3D
|
|
| |
Nub | Дата: Понедельник, 05.12.2011, 15:50 | Сообщение # 4 |
ламер
Группа: Пользователи
Сообщений: 37
Награды: 0
Репутация: 0
Статус: Offline
| спасибо а то я чёто ступил Добавлено (05.12.2011, 15:50) --------------------------------------------- Да,на случай если ты не поняла.Команда EntityCollided (spher,2) - проверка на коллизию предмета (spher) с типом (2)
Лучшее - враг хорошего. Сделал ты игру, решил улучшить, а потом до ночи сидишь и думаешь, что же ты такого сделал.
|
|
| |
Type | Дата: Понедельник, 05.12.2011, 22:32 | Сообщение # 5 |
ламер
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
| да, спасибо,я разобралась
|
|
| |
Nub | Дата: Вторник, 06.12.2011, 08:51 | Сообщение # 6 |
ламер
Группа: Пользователи
Сообщений: 37
Награды: 0
Репутация: 0
Статус: Offline
| Незачто
Лучшее - враг хорошего. Сделал ты игру, решил улучшить, а потом до ночи сидишь и думаешь, что же ты такого сделал.
|
|
| |
|