Показать сообщение отдельно
Старый 08.10.2005, 17:35   #32
alcosholik
 
Сообщений: n/a
В данном коде при прыжке игрок мгновенно перемещается в точку над землей, а потом с ускорением падает вниз. Говоря про ускорение при движении вверх, я имел в виду, что игрок не должен сразу перемещаться в точку над землей, он должен подпрыгнуть до нее. Т.е. игрок будет двигаться вверх с определенной скоростью, но так как ускорение направлено вниз, он постепенно остановится и начнет падать вниз.

Например: в файле ES_FPS_3.bb в функции update_user() заменить этот код:
	If pick_ent
 jump_bool=False
 user_vy=0
 TranslateEntity user,0,-1,0,True
	Else
 jump_bool=True
 user_vy#=user_vy#-G#*delta_t;v1=v2-a*t
	EndIf

;;;
	If KeyHit(57) And jump_bool=False Then user_vy#=1
на этот:
	If if_jumping=0
 If pick_ent
 	jump_bool=False
 	user_vy=0
 	TranslateEntity user,0,-1,0,True
 Else
  jump_bool=True
  user_vy#=user_vy#-G#*delta_t;v1=v2-a*t
 EndIf
	Else
 jump_amount#=jump_amount#-G#*delta_t
 If jump_amount#<0 Then if_jumping=0
	End If

;;;
	If KeyHit(57) And jump_bool=False Then jump_amount#=.06: user_vy#=user_vy#+jump_amount#: if_jumping=1
при этом в начале объявив две переменные
Global if_jumping
Global jump_amount#
А значение G# я сделал равным 0.0005
 
Ответить с цитированием