Показать сообщение отдельно
Старый 20.07.2007, 02:25   #1
BlackDragon
Проектировщик
 
Аватар для BlackDragon
 
Регистрация: 25.03.2007
Сообщений: 536
Написано 252 полезных сообщений
(для 715 пользователей)
Проблема с MoveEntity

Сегодня отловил в своей проге странный баг: танк стреляет мешем,
при некоторых углах поворота башни танка в горизонтальной плоскости, меш странно изменяет траекторию полета. После рождения меша в недрах башни, командой EntityParent он обретает независимость от нее и далее летит по прямой (до этого дня я был уверен что по прямой).
Функция движения:
Function BULLETS()
For Tbullet.bullets =Each bullets
If Tbullet <>Null
If EntityCollided (Tbullet\obj,WALL) Or EntityCollided (Tbullet\obj,SCENE)
ex1#=EntityX#(Tbullet\obj);,True)
ey1#=EntityY#(Tbullet\obj);,True)
ez1#=EntityZ#(Tbullet\obj);,True)
InitionEXPL_1(ex1#,ey1#,ez1#,CollisionNX#(Tbullet\ obj,1), СоllisionNY#(Tbullet\obj,1),CollisionNZ#(Tbullet\o bj,1))
Tbullet\bullet_time=65
EndIf


If Tbullet\bullet_time>60
FreeEntity Tbullet\obj
Delete Tbullet
Else
MoveEntity Tbullet\obj,0,0,20 <======
Tbullet\bullet_time=Tbullet\bullet_time+1
EndIf

EndIf
Next
End Function
Примерный вид траектории представлен ниже. Закрашенная область - место изменения траектории (я думаю траект. изменяется скачкообразно). Интересно, что при изменении значения помеченного стрелочкой (см. выше) до 10, 5 , 2 ,скачек пропорционально меньше.
(Offline)
 
Ответить с цитированием