forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Спрайт(столкновения) (http://forum.boolean.name/showthread.php?t=121)

Dizels 26.09.2005 13:15

Я тоже так думал, однако все мои предшествующие темы перенесли в 2D программирование, однако это не важно!

alcosholik 26.09.2005 21:45

Алмины слегка заблудились на собственном форуме :dance:

impersonalis 26.09.2005 22:05

Фоновая музыка (не 3д-окружение) относится к проганью в 2д!

alcosholik 26.09.2005 22:10

Здесь вроде как спрайты обсуждались ;)

impersonalis 27.09.2005 00:17

Цитата:

Originally posted by alcoSHoLiK@Sep 26 2005, 08:10 PM
Здесь вроде как спрайты обсуждались ;)
Спрайты и есть 3д, однако тема была изначально в 2д!
:offtop:

Dizels 28.09.2005 11:55

Ребят, простите конечно, но у меня все равно не получаеться привязать спрайт так как надо, может кто подробнее объяснит?Заранее спасибо, извините, что надоедаю!

Жека 30.09.2005 19:30

Ты Diplomat'a код разобрал?
Похоже, что нет. Если да, то проблем не должно быть, там есть все, что тебе нужно по части спрайта (на мой пример забей - это хрень полная).

Интересен вот этот кусок:

;если задеваем стену, то рисуем искру
;CountCollisions(Robot) возвращает количество коллизий,
;которые произошли с объектом за время последнего UpdateWorld'a

For coll=1 To CountCollisions(Robot)
;CollisionEntity(Robot,coll) - возвращает объект, с которым столкнулся
;Robot при коллизии "с номером" coll
;GetEntityType() - возвращает тип коллизии объекта

If GetEntityType(CollisionEntity(Robot,coll))=boxType Then
*;получаем координаты точки соприкосновения машины и стенки
*px# = CollisionX(Robot,coll)
*py# = CollisionY(Robot,coll)
*pz# = CollisionZ(Robot,coll)

*;устанавливаем спрайт в точку соприкосновения
*PositionEntity spr1,px#,py#,pz#
*;определяем нормали в точке соприкосновения
*nx# = CollisionNX(Robot,coll)
*ny# = CollisionNY(Robot,coll)
*nz# = CollisionNZ(Robot,coll)

*;"приклеиваем" спрайт на стенку
*AlignToVector spr1,nx#,ny#,nz#,3
*;немного сдвигаем спрайт по иси Z, чтобы он не проваливался
;в стенку, а был на ее поверхности

*MoveEntity Spr1,0,0,0.1
*;показываем спрайт, ведь не зря же мы его
;клеили на стену!

*EntityAlpha spr1,1; << команды Hide/ShowEntity тормозные - НЕ используйте их в цикле!
;выходим из цикла после обнаружения первого соударения
Exit
Else

*;прячем спрайт, потому что уже откоснулись от стенки
*EntityAlpha spr1,0
EndIf
Next


Народ, я такими вещами, как CollisionEntity(Robot,coll) не занимался, поэтому мог что-то наврать тут (надеюсь не все).
Код не мой, а Diplomat'a (если кто не понял). Мои только комментарии...

Dizels, ты получил, что хотел? Если нет, то спрашивай КОНКРЕТНЕЕ...

SBJoker 13.05.2010 22:24

Ответ: Спрайт(столкновения)
 
Цитата:

Сообщение от Капитан Очевидность (Сообщение 146843)
лол :-)

baton4ik или как там тебя, за виртуалов предусмотрена ответственность ты вкурсе?

baton4ik 13.05.2010 22:45

Ответ: Спрайт(столкновения)
 
SBJoker, блин, так и знал... Дико извиняюсь, я был "слегка" нетрезв, вот и стал дебоширить...


Часовой пояс GMT +4, время: 22:38.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot