Показать сообщение отдельно
Старый 25.01.2010, 10:10   #533
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Эм если я не ошибаюсь то в кастле сделано спрайтами. Я ж сам недавно проверял) Лан сейчас дам кусок кода из кастла и ты всё поймёшь :

For k=1 To CountCollisions( b\sprite )
If GetEntityType( CollisionEntity( b\sprite,k ) )=TYPE_SCENERY
cx#=CollisionX( b\sprite,k )
cy#=CollisionY( b\sprite,k )
cz#=CollisionZ( b\sprite,k )
nx#=CollisionNX( b\sprite,k )
ny#=CollisionNY( b\sprite,k )
nz#=CollisionNZ( b\sprite,k )
th.Hole=New Hole
th\alpha=1
th\sprite=CopyEntity( hole_sprite )
PositionEntity th\sprite,cx,cy,cz
AlignToVector th\sprite,-nx,-ny,-nz,3
MoveEntity th\sprite,0,0,-.1
Exit
EndIf
Next
делаем перебор от 1 до кол-во всех коллизий проверяем это та коллизия или нет? Потом узнаем позиции и угол. Ставим и поворачиваем как положено. Мув что бы спрайт не сливался со стеной.

Последний раз редактировалось is.SarCasm, 25.01.2010 в 10:12. Причина: забыл дописять
(Offline)
 
Ответить с цитированием