короче написал код. пришлось час посидеть. но только толку от этого кода?. ты всеравно сути не поймешь. ты лучше с чегонить попроще начни, главное принцип понять и разбирать код. а не тупо копипастить
просто тут довольно сложный код . т.к. если делать как в играх то тут много ньюансов - например если сначала зажать шифт а потом вперед он сразу должен бежать, если зажать вперед и потом зажимать и отпускать шифт он должен то идти то бежать и т.д.
Graphics3D 800,600,16,2
SetBuffer BackBuffer()
cam=CreateCamera()
lite = CreateLight(1)
MoveEntity lite,5,0,0
;--------------------------------------
m=LoadAnimMesh("officer.b3d")
men=ExtractAnimSeq(m,212,232)
men2=ExtractAnimSeq(m,236,260)
men3=ExtractAnimSeq(m,301,319)
ScaleEntity m,0.1,0.1,0.1
PositionEntity m,0,0,0,True
PointEntity cam,m
PositionEntity cam,0,3,-7
Animate m,1,0.5,men
Global player_start_go=0
Global player_start_run=0
Global player_go=0
Global player_run=0
Global player_stop=1
Global player_still=1
Repeat
If KeyHit(1) End
UpdateWorld
down_up= KeyDown(200)
hit_up=KeyHit(200)
down_shift=KeyDown(54)
player_start_go=0
player_start_run=0
If hit_up player_start_go=1
If down_up And down_shift
player_run=1
Else
If player_run=1 And down_up=0 And player_go=0 And player_still=0 player_still=1: player_stop=1:player_run=0
If player_run=1 And down_up And player_still=0 player_start_go=1: player_run=0
EndIf
If player_run=0 And player_still=0 And player_go=0 And player_start_go=0 player_still=1:player_stop=1
If player_run=1 And (player_still=1 Or player_go=1) player_start_run=1:player_go=0:player_still=0
If down_up
If down_shift
player_go=0
player_still=0
Else
player_go=1
player_still=0
EndIf
Else
player_go=0
EndIf
If player_start_go Animate m,1,0.5,men2,6
If player_start_run Animate m,1,0.5,men3,5
If player_stop Animate m,1,0.5,men,10
player_stop=0
RenderWorld tween
Text 0,0,"player_run "+player_run
Text 0,10,"player_go "+down_up
Flip
Forever