эх коллизии
| |
K1rusH | Дата: Суббота, 25.09.2010, 11:41 | Сообщение # 1 |
ламер
Группа: Пользователи
Сообщений: 37
Награды: 0
Репутация: 1
Статус: Offline
| Есть несколько объектов, моя моделька с ними сталкивается и срабатывает действие, всё нормально. Меняю уровень, удаляю все объекты, потом загружаю заного другие, но при столкновении с ними (столкновение происходит) уже не проиходит проверка действий. Вот код удаления и построения заного: If reset=1 Then For wall.twall=Each twall FreeEntity wall\entity : Delete wall Next For bon.tbon=Each tbon FreeEntity bon\entity : Delete bon Next reset=0 createmap () createbonus () End If Вот код апдейта стокновения: For wall.twall=Each twall updatewall (wall) Next Привёл эти отрыки потому что думаю что-то в них не так...
Blitz3d start error: Blitz3d hates you! http://proekti.moy.su/
|
|
| |
Reks888 | Дата: Суббота, 25.09.2010, 12:02 | Сообщение # 2 |
ламер
Группа: Пользователи
Сообщений: 29
Награды: 1
Репутация: 4
Статус: Offline
| For wall.twall=Each twall updatewall (wall) Next про содержание updatewall мы должны догадаться самостоятельно?
|
|
| |
K1rusH | Дата: Суббота, 25.09.2010, 21:06 | Сообщение # 3 |
ламер
Группа: Пользователи
Сообщений: 37
Награды: 0
Репутация: 1
Статус: Offline
| Quote Function updatewall (wall.twall) If EntityCollided(Wall\entity, TypeVzriv1) Then wall\lives=wall\lives-(100) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv2) Then wall\lives=wall\lives-(150) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv3) Then wall\lives=wall\lives-(250) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv4) Then wall\lives=wall\lives-(300) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv5) Then wall\lives=wall\lives-(300) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv6) Then wall\lives=wall\lives-(500) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeDrell) Then wall\lives=wall\lives-(20) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return End Function Quote Function updatebonus (bon.tbon) bon\ot=bon\ot+5 RotateEntity bon\entity, 0, bon\ot, 0 If EntityCollided (bon\entity, TypePlayer1) Then Select bon\types Case 1 lives1=lives1+Rand(40, 100) : If lives1>100 Then lives1=100 Case 2 bron1=100 Case 3 usk1=1 Case 4 bessmert1=1 Case 5 kp1=kp1+1 : kp2=kp2+1 : kp3=kp3+100 : kp4=kp4+1 : kp5=kp5+1 Case 6 g1=g1+Rnd(5,50) End Select FreeEntity bon\entity Delete bon Return EndIf If EntityCollided(bon\entity, TypePlayer2) Then Select bon\types Case 1 lives2=lives2+Rand(40, 100) : If lives2>100 Then lives2=100 Case 2 bron2=100 Case 3 usk2=1 Case 4 bessmert2=1 Case 5 kkp1=kkp1+1 : kkp2=kkp2+1 : kkp3=kkp3+100 : kkp4=kkp4+1 : kkp5=kkp5+1 Case 6 g2=g2+Rnd(5,50) End Select FreeEntity bon\entity Delete bon Return EndIf End Function Вот в 1 функции не выполняется проверка на wall\lives,но объекты удаляются, а во 2 функции объект крутится, но не выполняется проверка выбора Select bon\types
Blitz3d start error: Blitz3d hates you! http://proekti.moy.su/
Сообщение отредактировал K1rusH - Суббота, 25.09.2010, 21:14 |
|
| |
Reks888 | Дата: Воскресенье, 26.09.2010, 10:05 | Сообщение # 4 |
ламер
Группа: Пользователи
Сообщений: 29
Награды: 1
Репутация: 4
Статус: Offline
| Quote (K1rusH) If EntityCollided(Wall\entity, TypeVzriv1) Then wall\lives=wall\lives-(100) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv2) Then wall\lives=wall\lives-(150) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv3) Then wall\lives=wall\lives-(250) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv4) Then wall\lives=wall\lives-(300) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv5) Then wall\lives=wall\lives-(300) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return If EntityCollided(Wall\entity, TypeVzriv6) Then wall\lives=wall\lives-(500) : If wall\lives=<0 Then CreateExplosion(wall\entity, 4) : FreeEntity wall\entity : Delete wall :Return Шесть разных видов взрыва, которые отличаются нанесенным уроном :o, и ШЕСТЬ отдельных типов коллизий для СОВЕРШЕННО одинаковых эффектов . Из кусков ничего не понять, реквестирую полный код. Если код является тайной за семью печатями, либо хочется чему-то научится, то рекомендую самому занятся отладкой: http://johnk.3dn.ru/publ/2-1-0-25
Сообщение отредактировал Reks888 - Воскресенье, 26.09.2010, 10:05 |
|
| |
K1rusH | Дата: Понедельник, 04.10.2010, 20:47 | Сообщение # 5 |
ламер
Группа: Пользователи
Сообщений: 37
Награды: 0
Репутация: 1
Статус: Offline
| Во, спасибо за ссылку, а то не умею работать в отладчике Добавлено (04.10.2010, 20:47) --------------------------------------------- Так и не решил проблему С отладчиком не умею работать Поставлю по другому вопрос. Есть уровень, если коллизии, есть действия при коллиззии. Меняем уровень, т.е. удаляем старые объекты, загружаем новые, есть коллизии, но нету действия при коллизиях. Как вернуть ? Может кто сталкивался с такой проблемой...
Blitz3d start error: Blitz3d hates you! http://proekti.moy.su/
|
|
| |
|