forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Как ограничить прыжок??? (http://forum.boolean.name/showthread.php?t=9532)

Ganociy 15.10.2009 20:15

Как ограничить прыжок???
 
Тут вопросик намылился как ограничить прижок?
Вот кусочек кода.
Global Gr#=0.4 (na vsyakiy sluchay vzyal v Global)

В главном цикле TranslateEntity player ,0,-Gr#,0
Про коллизию писать не буду.

Ну и соответственно If KeyHit(57) Then MoveEntity player,0,2,0

Собсно так.
Запускаю жму несколько раз ,а он у меня (плейер) от воздуха отталкивается.:-D Как енту фигню икоренить?

is.SarCasm 15.10.2009 20:34

Ответ: Как ограничить прыжок???
 
Цитата:

Function jump(moveEnt,ObjFrom)
Function jump(moveEnt,ObjFrom)
If EntityCollided(MoveEnt,ObjFrom) If KeyHit(57) Then
jumpt= jumpt +10
EndIf
If jumpt>0 Then
TranslateEntity MoveEnt,0,.2,0
EndIf
If jumpt<0 Then
jumpt = 0
EndIf
If jumpt > 0 Then
jumpt = jumpt - 1
Else
jumpt= 0
EndIf
End Function
Короче до єтого ставиш свою гравитацию
MoveEnt - это твой игрок, на которого действует гравитация
ObjFrom - это то от чего может отталкиватся игрок (каменгь земля враг )
Можеш дольше сам оптимизировать и т.д.

10 - это время прыжка

NitE 15.10.2009 20:48

Ответ: Как ограничить прыжок???
 
TranslateEntity player,0,-gravity,0
mouselook(player)
player_move(player)

jumppick=LinePick(EntityX(player,1),EntityY(cam,1) ,EntityZ(player,1),0,-5.1,0)



If KeyHit(57) And jumppick=>1
y=EntityY(player,1)
jump_bool=1
EndIf

If jump_bool=1 And EntityY(player,1)=<y+jump_height
gravity=-.3
Else
jump_bool=0
gravity=.3
EndIf

из старого исходника

DarkMedveD 23.05.2010 14:29

Ответ: Как ограничить прыжок???
 
Делай устовие.
Если игрок столкнулся с полом,
то может прыгнуть
В противном случае,
прыжок запрещен
конец условия


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

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