25.01.2010, 10:10
|
#533
|
Бывалый
Регистрация: 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)
|
|