Вот рабочий код прямо из проекта:
Function UpdateJump()
If he\jump>0 And he\jump_state=1
he\gravity#=he\gravity+he\jump
he\jump=he\jump/1.2
EndIf
;Гравитация
If he\collign
he\gravity=0
he\dop=0
Else
he\dop=he\dop-0.001
If he\dop<-0.06 he\dop=-0.06
he\gravity=he\gravity+he\dop
EndIf
TranslateEntity he\piv,0,he\gravity,0
he\collign=EntityCollided(he\piv,2)
If he\jump_state=1 And he\collign<>0
he\jump_state=0
he\jump_k=0
he\jump=0
EndIf
End Function
|
лишние переменные выкинешь сам 9там у меня двойной прыжок. отсюда избыток стейтов)