рдЧреЛрдбреЛрдЯ рдЗрдВрдЬрди рдкрд░ рдПрдХ рдЧреЗрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрд╡рд╛рдЗрдк рдкреНрд░рдмрдВрдзрди

рд╕рднреА рдХреЗ рд▓рд┐рдП рд╢реБрднрдХрд╛рдордирд╛рдПрдВ! рдЖрдЬ рдореИрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЧреЛрдбреЛрдЯ рдЗрдВрдЬрди рдкрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЧреЗрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрд╡рд╛рдЗрдк рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдЫрд╡рд┐

рдореЗрд░рд╛ рдирд╛рдо рдкреАрдЯрд░ рд╣реИ, рдФрд░ рдореИрдВ рдЧреЛрдбреЛрдЯ рдЗрдВрдЬрди рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реВрдВред
рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рдЦрдВрдб рдореЗрдВ, рдЗрд╕ рдЙрдкрдХрд░рдг рдкрд░ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреА рднрд╛рд░реА рдХрдореА рд╣реИ, рдЬреЛ рдореБрдЭреЗ рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддреЗ рдЦреЗрд▓ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдмреЗрд╢рдХ, рдпрд╣ рдХрдИ рддрд░рд╣ рд╕реЗ рдПрдХрддрд╛, рдпреВрдИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЗрдВрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕ рдкрд░ рдПрдХ рдПрдПрдП рд╡рд░реНрдЧ рдЦреЗрд▓ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рддрдерд╛рдкрд┐! рдпрд╣ рдореБрдлрд╝реНрдд (рдкреВрд░реНрдг), рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рдкреВрд░реНрдг) рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рд╡рдЬрди рд▓рдЧрднрдЧ 60 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╣реИ, рд╕рдорд╛рди рдПрдХрддрд╛ рдХреЗ рд╡рд┐рдкрд░реАрддред

рдЗрдВрдЬрди рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдмрд╣реБрдд рдмрдЬрдЯ рд░реЗрдЦрд╛ рд╕реЗ рд╣реЛред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░", рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА Russified рд╣реИ, рдмреЛрд░реНрдб рдкрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд░рдирд┐рдВрдЧ рдлреЙрд░реНрдо рдореЗрдВ рд╕рднреА рд░реИрдо рдХреЛ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдкрд░ Habr├й рдХреЗ рдХреБрдЫ рд▓реЗрдЦреЛрдВ рдХреЛ рджреЗрдЦрд╛ рдерд╛, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдЕрдиреБрдХреВрд▓ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЕрддреАрдд рдореЗрдВ рдЬрд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдЪреВрдХ рд╣реИред

рдЗрд╕ рдкреЛрд╕реНрдЯ рдХрд╛ рд╡рд┐рд╖рдп рдПрдХ Android рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрд╡рд╛рдЗрдк рдкреНрд░рдмрдВрдзрди (рдЗрд╢рд╛рд░реЛрдВ) рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрдВрдЬрди рдХреЗ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рд╣реИ, рдФрд░ рдпрджрд┐ рд╡рд┐рд╖рдп рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдореИрдВ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдореИрдВ рдХрдо рд╕реЗ рдХрдо рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЗрдВрдЬрди рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдлрд┐рд░ рд╕реЗ, рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░, рджреЛ рд╡рд┐рдХрд▓реНрдк: GDScript рдФрд░ C # рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдВрдЧрд╛ред

рдореБрдЦреНрдп рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдЗрд╕рдореЗрдВ рдЖрдк 3 рдбреА, 2 рдбреА, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЗрдВрдЬрди рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХрд╛ рдЦреЗрд▓ рдПрдХ рджреВрд╕рд░реЗ рдореЗрдВ рдирд┐рд╣рд┐рдд рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдФрд░ рдХреБрдЫ рднреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП "рджреГрд╢реНрдп" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рд╕рд┐рд░реНрдл рдЦреЗрд▓ рдХреЗ рджреГрд╢реНрдп (рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ, рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ, рдЧреЗрдо рд╕реНрдЯреЗрдЯреНрд╕ (рдореЗрдиреВ, рдЧреЗрдо, рдЖрджрд┐)) рд╣реИрдВ, рдФрд░ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдВ рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред "рдкреНрд░реАрдлреИрдм" рдПрдХрддрд╛ рд╕реЗ рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ред

рдЪреВрдВрдХрд┐ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреБрдЫ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдЕрдЧрд░ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рджреГрд╢реНрдп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЦреЗрд▓ рд╣реЛрдЧрд╛ред

рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

рдЫрд╡рд┐

рдЧреЗрдо рд╕реНрдЯреЛрд░ рдХрд╛ рд░реВрдЯ рдиреЛрдб рдЕрдкрдиреЗ рдЕрдВрджрд░ рдиреЗрд╕реНрдЯреЗрдб рдХрд░рддрд╛ рд╣реИ:
- рджреБрдирд┐рдпрд╛, - рдЗрд╕рдореЗрдВ рд╕реНрддрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ
- - рд╕реНрддрд░, - рдкрд░реНрдпрд╛рд╡рд░рдг рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ (рдмреНрд▓реЙрдХ, рд░рд┐рдВрдЧ, рдмрд╛рдзрд╛рдПрдВ) рдХрд╛ рдПрдХ рд╕реЗрдЯ
- - рдкреНрд▓реЗрдпрд░, - рдкреНрд▓реЗрдпрд░ рдСрдмреНрдЬреЗрдХреНрдЯ
- - рдЗрдВрдЯрд░рдкреЛрд▓рд┐рдПрдЯреЗрдбрд░рд╛, - рдЪрд┐рдХрдиреА рдХреИрдорд░рд╛ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ
- gui, - рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд╡рд╕реНрддреБрдУрдВ рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдирд╛рдо рдордирдорд╛рдиреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИред
рдХреБрдЫ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкрд╛рд╕, рдЖрдк рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдЖрдЗрдХрди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдкреНрд░реАрдлрд╝реИрдм (рдиреЗрд╕реНрдЯреЗрдб рд╕реАрди) рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднреА рдЬреЛрдбрд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдЗрд╕рд▓рд┐рдП, "рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрдВрдЬрди рдХрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдмрд╕ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИред

рдЫрд╡рд┐

рдЗрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдореЗрдВ, рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджрд░рдЕрд╕рд▓, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╡рд┐рд╢реНрд╡ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдЬреЛ рдЧреЗрдо рдореЗрдВ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдХреИрдорд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ (InterpolatedCamera) рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

extends Spatial

func _ready():
	$InterpolatedCamera.target = '../player/camera' #  , ,         (  ).   player  "camera"   pivot.   .         .

рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ, GDScript рдкрд╛рдпрдерди рдХреЗ рд╕рдорд╛рди рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рд░реВрд╕реА рдореЗрдВ рдЬреАрдбреАрдПрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ: рдЬреАрдбреАрдПрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХ

рджреБрдирд┐рдпрд╛ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдпрд╣ рд╕рд┐рд░реНрдл рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреИрдорд░реЗ рдХреЗ рд▓рдХреНрд╖реНрдп рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд▓реА рд╡рд╕реНрддреБ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреБрдирд┐рдпрд╛ рдХрд╛ рдПрдХ рдмрдЪреНрдЪрд╛) рд╕реНрддрд░ рд╣реИред рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

рдЫрд╡рд┐

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рдХреЗрд╡рд▓ рднреМрддрд┐рдХ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИред "рд╕реЗрд▓" рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ред рдпреЗ рдХрддрд╛рдИ рдХреЗ рдЫрд▓реНрд▓реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рд╡рд╕реНрддреБ рдХреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рдЧрд╛рдпрдм рд╣реЛрддреЗ рд╣реИрдВред

рдкреНрд▓реЗрдпрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрднреА рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЯрдЪ рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд╛рдЗрдк рдХрдВрдЯреНрд░реЛрд▓ рд▓реЙрдЬрд┐рдХ рд╣реИред

рдпрд╣ рдкреНрд░реАрдлрд╝реИрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рд░реВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
рдкрд╣рд▓реЗ, рдиреЗрд╕реНрдЯреЗрдб рд╡рд╕реНрддреБрдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

  • camera, тАФ , , . player.
  • CollisionShape, тАФ . ┬л┬╗ . , , . .
  • MeshInstance, тАФ . , . Blender 3D , .
  • Tween, . .

рдЦреИрд░, рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдореВрд▓ рд╡рд╕реНрддреБ рдореЗрдВ рд╣реА рдорд╛рдиреЗрдВред рдпрд╣ рдкреВрд░реЗ "рдЦреЗрд▓" рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрдбрд╝рд╛ рдирд┐рдХрд▓рд╛ред

рдЫрд╡рд┐

рдЦреИрд░, рдЗрд╕рдХрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рдбрд┐рдХреЛрдбрд┐рдВрдЧред


extends KinematicBody #       

#  
const GRAV = 0.5 #   (      Y, ..       ,     )
const SPEED = 2 #  
const SWIPE_SPEED = 30 #       
const JUMP_SPEED = 10 #     

onready var ball = $MeshInstance #        
onready var tween = $Tween #      
var vel = Vector3() #     
var swipe = '' #       


func _ready():
	pass #        ;    


#       (60FPS)  
func _physics_process(delta): # delta -  Delta Time ,  ,    
	vel.y -= GRAV #      (  )
	vel.z = -SPEED #     .   
	ball.rotate_x(-delta * SPEED * 2) #     ,   ""

	if swipe && swipe != 'swiped': #         
		if swipe == 'up' && is_on_floor(): #        ()
			vel.y = JUMP_SPEED #     ,   -  
		elif swipe == 'left' || swipe == 'right': #     
			tween.interpolate_property(self, "translation", #      
				translation, translation+Vector3(-2 if swipe == 'left' else 2,0,0), 0.2, #    ,         X.      . -2  ,  2
				Tween.TRANS_CUBIC, Tween.EASE_IN_OUT) #     "" 
			tween.start() #   
		swipe = 'swiped' #   ,   

	vel = move_and_slide(vel, Vector3.UP) #       ,                  

#       
func _input(e):
	if e is InputEventScreenDrag: # ,       
		if !swipe: #       
			if e.relative.y < -SWIPE_SPEED: #       Y
				swipe = 'up' #     (     )    ( ,          ),     " (UP)"
			elif e.relative.x < -SWIPE_SPEED: #      ,     X.     -  
				swipe = 'left'
			elif e.relative.x > SWIPE_SPEED: #  ,
				swipe = 'right' #  

	elif e is InputEventScreenTouch: #     
		if !e.pressed: #      
			swipe = '' #   

рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ, рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдпрд╛ рдорд╛рдЗрдирд╕ рд╕реНрдкрд╖реНрдЯ рд╣реИред

рдпрджрд┐ рд░реВрд╕реА рдореЗрдВ, рддреЛ рдЬрдм рд╣рдо рдЕрдкрдиреА рдЙрдВрдЧрд▓реА рдХреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рдкрд╛рд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЖрдВрджреЛрд▓рди рдФрд░ рдЧрддрд┐ рдХреА рджрд┐рд╢рд╛ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЙрдВрдЧрд▓реА рд╡рд╛рдВрдЫрд┐рдд рдЧрддрд┐ рд╕реЗ рдЪрд▓рддреА рд╣реИ, рддреЛ рд╣рдо рд╕реНрд╡рд╛рдЗрдк рдХреА рдЧрд┐рдирддреА рдХрд░рддреЗ рд╣реИрдВред рдХрд┐рд╕ рдзреБрд░реА рдФрд░ рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдВрджреЛрд▓рди рд╣реЛ рд░рд╣рд╛ рдерд╛, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: UP, LEFT, RIGHTред
рд╣рдо рдкреНрд░рд╛рдкреНрдд рдорд╛рди рдХреЛ рдПрдХ рдЪрд░ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд╕реНрддреБ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдШрдЯрдирд╛ рд╕реЗ рддреБрд░рдВрдд рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдШрдЯрдирд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд▓реЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдПрдХ рд╕реНрд╡рд╛рдЗрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд▓рд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдпрд╣ рд╢реИрд▓реА рдФрд░ рдЦреЗрд▓ рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рджрд╕ рдорд┐рдирдЯ рдореЗрдВ рд╕реНрд╡рд╛рдЗрдк рдкреНрд░рдмрдВрдзрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдореБрдЭреЗ рд▓рдЧрднрдЧ 30 рдорд┐рдирдЯ рд▓рдЧреЗ, рдпрд╣ рдмреНрд▓реЗрдВрдбрд░ рдореЗрдВ рдореЙрдбрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦ рд░рд╣рд╛ рд╣реИред

рдЦреИрд░, рдкрд░рдВрдкрд░рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ ...

рд╡рд┐рдХрд╛рд╕ рд╡реАрдбрд┐рдпреЛ


рд╕реЛрд░реНрд╕ рдХреЛрдб

All Articles