Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 08.09.2011, 16:47   #1
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
physx

Всем добрый день

возник вопрос по physx, а точнее реализация прыжка
что бы высота прыжка была всегда одинакова
хотелось бы увидеть пример или хотя бы идеи по этому поводу

буду благодарен
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
(Offline)
 
Ответить с цитированием
Старый 08.09.2011, 19:34   #2
pepel
Мастер
 
Аватар для pepel
 
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений
(для 2,526 пользователей)
Ответ: physx

а что сложного то? прикладываешь одну и ту же силу и будет одинаковый прыжок


gr_width=800gr_height=600:mode=2
;gr_width=1280gr_height=1024:mode=2


Graphics3D gr_width
,gr_height,32,Mode
Global cam=CreateCamera()
PositionEntity cam,0,0,-30

    pxCreateWorld
(1,"1")
    
pxSetGravity(0, -400)

px_body=pxBodyCreateSphere(1,1)
mesh=CreateSphere() 
pxBodySetPosition px_body,0,10,

Repeat

If KeyHit(57pxBodyAddForce px_body,0,30,0,1

If KeyDown(203pxBodyAddForce px_body,-1,0,0,1
If KeyDown(205pxBodyAddForce px_body,1,0,0,1

pxBodySetEntity
(meshpx_body)
pxRenderPhysic(0,1)    
RenderWorld
;Text 0,0,""
Flip:If KeyDown(1End  
Forever 
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Spy4433 (08.09.2011)
Старый 08.09.2011, 22:24   #3
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: physx

так ну вот что бы персонаж не прыгал в воздухе
я сделал так

player_jump - физ тело которое прикреплено к player_body


cn=pxGetContacts(player_jump)
If pxContactGetForceNY(player_jump,cn)>0 Then coll=1

If KeyHit(57) and coll=1 Then
coll=0
pxBodyAddForce(player_body,0,260,0,0)
EndIf
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
(Offline)
 
Ответить с цитированием
Старый 09.09.2011, 14:19   #4
pepel
Мастер
 
Аватар для pepel
 
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений
(для 2,526 пользователей)
Ответ: physx

проще будет так

If KeyHit(57) And pxGetContacts(px_body)>0 pxBodyAddForce px_body,0,30,0,1

хотя переменная coll может пригодится..
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Spy4433 (09.09.2011)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com