|
3D-программирование Вопросы, касающиеся программирования 3D мира |
23.04.2009, 18:47
|
#1
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Проблема с коллизией
Привет всем!
Я в игре сделал, что бы можно было стрелять, но у меня не получается удалить "патрон" при столкновении с землей. Коллизию я поставил, в обновлении много разных способов перепробовал, но не удаляется и все.
Const SHOTT=2 Const TERRAIN=3 Collisions SHOTT,TERRAIN,2,1
pln=CreatePlane()
EntityTexture pln,tex1,0,0
EntityType pln,TERRAIN
Function update_shot()
For b.Bullet=Each Bullet
MoveEntity b\ent,0,0,3
b\time_out=b\time_out-1
If EntityCollided(b\ent,TERRAIN)<>0 Then
FreeEntity b\ent
Delete b
ElseIf b\time_out=0 Then
FreeEntity b\ent
Delete b
EndIf
Next
End Function
Function CreateShot()
b.Bullet=New Bullet
b\time_out=150
b\ent=CreatePivot(play)
EntityType b\ent,SHOTT
EntityParent b\ent,0
b\mesh=CopyEntity(bull_sprite,b\ent)
End Function
|
|
(Offline)
|
|
23.04.2009, 20:21
|
#2
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Проблема с коллизией
Гхм, следует понимать, что такое пивот. Попробуй EntityRaduis b\ent,1
А вообще, я лично не вкурил зачем энтити в типе отдельно от меша держать?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.04.2009, 06:48
|
#3
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Проблема с коллизией
Сообщение от Michael
Гхм, следует понимать, что такое пивот. Попробуй EntityRaduis b\ent,1
А вообще, я лично не вкурил зачем энтити в типе отдельно от меша держать?
|
Я делал стрельбу как в примере Castle. Сначало коллизия стояла на спрайте(меше), но такая же фигня была. Я смотрел как сделано во всех примерах что у меня есть и что я нашел, но все равно не работает.
|
(Offline)
|
|
24.04.2009, 12:07
|
#4
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: Проблема с коллизией
Сообщение от SkySream
Привет всем!
Я в игре сделал, что бы можно было стрелять, но у меня не получается удалить "патрон" при столкновении с землей.
|
Потому,что столкновение не срабатывает. Я знаю мож ты там че лишнего натворил в коде проверь внимательно,так с виду вроде все правильно.
Радиус пивоту назначать не обязательно,хотя попробывать следует..хотя колизия должна и без етого сработать.
Вот пример если поможет :
Graphics3D 800,600,32,2
Const shot=1
Const wall=2
Collisions shot,wall,2,1
;main cam
cam=CreateCamera()
MoveEntity cam,0,0,-20
;creates wall
plane=CreatePlane()
RotateEntity plane,-90,89,0
EntityType plane,wall
EntityColor plane,255,0,0
;makes pivot and cube for it
bul=CreatePivot()
bul_cube=CreateCube(bul)
EntityType bul,shot
;different
MoveEntity bul,10,0,0
AmbientLight 210,210,210
;main cikle
While Not KeyHit(1)
;bullet movement
MoveEntity bul,-0.1,0,0
;if collided-free
UpdateWorld
RenderWorld
If EntityCollided(bul,wall) FreeEntity bul
Flip
Wend
End
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.04.2009, 16:54
|
#5
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Проблема с коллизией
Спасибо. Но у меня произошло какое то колдунство. Я перезагрузил комп и все заработало, а так вообще никак не хотело.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:27.
|