рдкрд╣рд▓реЗ рд▓реЗрдЦ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдореЗрдВ (
рдпрд╣ рдпрд╣рд╛рдВ рд╣реИ ), рдореИрдВ
"2 рдбреА рдХреЗ рд▓рд┐рдП рд╕реНрддрд░ рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди" рд▓реЗрдЦ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ platformer рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдВред
рдкрд╣рд▓реЗ рд▓реЗрдЦ рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЕрд╕рдорд╛рди рд░реВрдк рд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдмрдЯрди рдирд┐рдпрдВрддреНрд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдЦреЗрд▓ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдкрд░ рдлрд┐рд░ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЦреЗрд▓ рдиреЗ рдкреНрд▓реЗрдорд╛рд░реНрдХреЗрдЯ рдореЗрдВ рдореЙрдбрд░реЗрд╢рди рдкрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдкрд┐рдЫрд▓реЗ рд╢реБрдХреНрд░рд╡рд╛рд░ рдХреЛ рдореБрдЭреЗ рд╕реВрдЪрдирд╛ рдорд┐рд▓реА рдХрд┐ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдХрд╛рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡реИрд╕реЗ, рдореЗрд░реЗ рдкрд╣рд▓реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдорд░ "рдирд╛рдЗрдЯ рдХрджрд╛рд╡рд░" рдХреЛ рднреА рдкрд╣рд▓реА рдмрд╛рд░ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЙрд▓ рдХреЗ рдкреНрд░рдмрдВрдзрди рдФрд░ рдПрд╕рдПрдордПрд╕ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдерд┐рдд рдЕрдиреБрд░реЛрдз рдХреЗ рдХрд╛рд░рдг (рдЬреЛ рдЙрдирдХреЗ рдмреЙрдЯ рдХреА рдУрд░ рд╕реЗ рдкреВрд░реА рдореВрд░реНрдЦрддрд╛ рдереАред рдЦреЗрд▓ рдХреЛ рдХрд┐рд╕реА рднреА рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА)ред Google рдиреЗ рддрдм рдореБрдЭрд╕реЗ рд▓рд┐рдЦрд┐рдд рд╕реВрдЪрдирд╛ рдХреА рдорд╛рдВрдЧ рдХреА рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рд▓реЗрдХрд┐рди, рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдореИрдВрдиреЗ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬреЛ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдФрд░ рдЦреЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдореЙрдбрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ред рдЙрд╕реЗ рдкреНрд▓реЗрдорд╛рд░реНрдХреЗрдЯ рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдм, рдореИрдВ рдЗрд╕ рдЦреЗрд▓ рдХреЗ рд╕рд╛рде рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред
рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕реЗ рд╣реА рджреВрд╕рд░рд╛ рджреГрд╢реНрдп рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдкреИрдЯрд░реНрди рдЕрдкрдиреЗ рдЖрдк рдмрдВрдж рд╣реЛ рдЧрдпрд╛
рд╕реНрдерд▓
рдПрдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕реНрддрд░ / рджреБрдирд┐рдпрд╛ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЖрдЧрд╛рдореА рдХрдард┐рдирд╛рдИ рд╣реИредрдмреЛрдирд╕
рд╕рдВрдЧреНрд░рд╣рдгреАрдп рд╡рд╕реНрддреБ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдкрд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддреА рд╣реИ
рд╣рдореЗрдВ рд▓реБрдХрд╛рд╕ рдХреЗ рд▓рд┐рдП 2 рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреЛрдирд╕ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реИ:
- рдЬрдм рдЖрдк рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрдВрдЧреЗ рддреЛ рдкреНрд░рд╛рдердорд┐рдХ рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдХрд┐рдЯ
- рд▓реБрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЪреЗрд╕реНрдЯ рдЬреЛ рджреБрд╢реНрдордиреЛрдВ рдкрд░ рдлреЗрдВрдХрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ
рдкреНрд░рд╛рдердорд┐рдХ рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдмреЛрдирд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░реАрдлрд╝реИрдм рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрд╕ рдЬрдЧрд╣ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рд╕реЗ рдмреЛрдирд╕ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдлрд┐рд░, Enemy.cs рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:
рд╕реНрдкрд╛рдпрд▓рд░ рд╣реЗрдбрд┐рдВрдЧ [SerializeField] private GameObject bonusPref;
рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓реМрдЯреЗ рд╣реБрдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреИрдореЗрдЬ (0) рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЗрд▓реНрде 0 рд░рд┐рдЯрд░реНрди рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╣рдо рд░реИрдВрдбрдо рдирдВрдмрд░ рдЬрдирд░реЗрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЬрдирд░реЗрдЯрд░ 0 рдирдВрдмрд░ рдЪреБрдирдХрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдмреЛрдирд╕ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд░рд╛рдХреНрд╖рд╕ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рд╣рдо рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдмреЛрдирд╕ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдШрдЯрдХ PreiteRenderer, BoxCollider2D рдФрд░ Rigidbody2D рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдкреНрд░реАрдлреИрдм рдмрдирд╛рдПрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ рдЬреЛ рд╕реЗрдм рдХреЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧреА:
рд╕реНрдкрд╛рдпрд▓рд░ рд╣реЗрдбрд┐рдВрдЧ public void OnTriggerEnter2D(Collider2D collision) { switch (collision.gameObject.tag) { case "Player": { HeroScript.Health = 100; Destroy(this.gameObject); } break; } }
рджреЗрдЦреЗрдВ
рдкреНрд░реАрд╡реНрдпреВ рд╡реАрдбрд┐рдпреЛрдЕрдЧрд▓рд╛, рд╣рдо рддрд▓рд╡рд╛рд░реЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмреЛрдирд╕ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реЗ рдЙрд╕реА рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд▓реЙрдЧ рд▓реЙрд╕ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрдм рд▓реБрдХрд╛рд╕ рддрд▓рд╡рд╛рд░реЗрдВ рдЙрдард╛рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ рдХреА рджреГрд╢реНрдпрддрд╛ рд╕реАрдорд╛ рдореЗрдВ рдлреЗрдВрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рди рдХрд┐ рдЬрдм рд▓реБрдХрд╛рд╕ рд▓реЙрдЧ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИред рджрд░рдЕрд╕рд▓, рдЬрд┐рд╕ рд░реВрдк рдореЗрдВ рдЕрдм рд╣рдорд▓рд╛ \ рдЖрдЗрдЯрдо рд╕рдВрдЧреНрд░рд╣ рдмрдЯрди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣ рдмрд╕ рдРрд╕рд╛ рд╣реА рдХрд░реЗрдЧрд╛ред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рддрд▓рд╡рд╛рд░реЗрдВ рдлреЗрдВрдХреА рдЧрдИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╣рдорд▓реЗ / рд╕рдВрдЧреНрд░рд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
рд╕реНрдкрд╛рдпрд▓рд░ рд╣реЗрдбрд┐рдВрдЧ [SerializeField] private GameObject swordPref;
рдХреЛрдб рдХреА рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдХреЛрд▓рд╛рдЗрдбрд░ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдШрди рдореЗрдВ рдЧрд┐рд░реА рд╣реБрдИ рд╣рд░ рдЪреАрдЬрд╝ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:
Collider2D[] ED = Physics2D.OverlapBoxAll(Hero.position, new Vector2(attackInBoxX, attackInBoxY), lEnemy);
рдкрд╛рд░рд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рд╡реЗ OvelapCircleAll рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИрдВред рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░ -
Vector2(attackInBoxX, attackInBoxY)
рдлрд┐рд░ рд╢рд░реНрдд рдкреВрд░реА рдХреА рдЬрд╛рддреА рд╣реИ, рдпрджрд┐ рдХреЛрд▓рд╛рдЗрдбрд░ рд╕рд░рдгреА 0 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рд╣рдо рддрд▓рд╡рд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рддрд▓рд╡рд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 0 рд╣реИ, рддреЛ рд╣рдо рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рдзрд┐ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
ED[i].GetComponent<Enemy>().Damage(1);
рдорд╛рдиреЛ рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рд╣рд┐рдЯ рдереАред рдпрджрд┐ 0 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рддрд▓рд╡рд╛рд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рддрд▓рд╡рд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 1 рд╕реЗ рдХрдо рдХрд░реЗрдВред
рдЕрдЧрд▓рд╛, рдЗрдиреНрд╕реНрдЯреИрдВрдЯрд┐рдПрдЯрд╡реЙрд░реНрдб () рд╡рд┐рдзрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди;
рд╕реНрдкрд╛рдпрд▓рд░ рд╣реЗрдбрд┐рдВрдЧ private void instantiateSword() { GameObject newArrow = Instantiate(swordPref) as GameObject; newArrow.transform.position = instSword.transform.position; Rigidbody2D rb = newArrow.GetComponent<Rigidbody2D>(); if (GameObject.Find("Hero").GetComponent<HeroScript>().localScale.x > 0) { rb.velocity = new Vector3(swordSpeed, 0, 0); } else { rb.velocity = new Vector3(-swordSpeed, 0, 0); newArrow.transform.Rotate(0,0,-180); } }
рдпрджрд┐ рдЖрдк рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдХреЛрдб рдПрдХ рдРрд╕реЗ рдХреЛрдб рд╕реЗ рдорд┐рд▓рддрд╛-рдЬреБрд▓рддрд╛ рд╣реИ рдЬреЛ рд╕реВрд░рдЬрдореБрдЦреА рдХреА рд╢реВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдХреЛрдб рдХреЗ рдЗрд╕ рдЦрдВрдб рдореЗрдВ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ рд▓реБрдХрд╛рд╕ рдХреЗ рдкреИрдорд╛рдиреЗ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдпрд╣реА рд╣реИ, рд╡рд╣ рдмрд╛рдПрдБ рдпрд╛ рджрд╛рдПрдБ рджрд┐рдЦрддрд╛ рд╣реИ:
(GameObject.Find("Hero").GetComponent<HeroScript>().localScale.x > 0)
рдЕрдЧрд░ рд▓реБрдХрд╛рд╕ рдмрд╛рдИрдВ рдУрд░ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ, рддреЛ
rb.velocity = new Vector3(-swordSpeed, 0, 0); newArrow.transform.Rotate(0,0,-180);
рддрд▓рд╡рд╛рд░ рдмрд╛рдИрдВ рдУрд░ рдЙрдбрд╝рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ 180 рдбрд┐рдЧреНрд░реА рддрдХ рдШреБрдорд╛рддреА рд╣реИред
рджреЗрдЦреЗрдВ
рдкреНрд░реАрд╡реНрдпреВ рд╡реАрдбрд┐рдпреЛрдЗрд╕ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдФрд░ 1 рдкреИрдЯрд░реНрди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛:
рд╡рд╕реНрддреБ
рдХреЛрдИ рднреА рдЗрдХрд╛рдИ рдЬреЛ рдЦреЗрд▓ рджреГрд╢реНрдп рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдФрд░ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдЦрддрд░реЗ, рджреБрд╢реНрдорди, рдмреЛрдирд╕ рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВредрд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рдкреИрдЯрд░реНрди рдкрд╣рд▓реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рдкрд╣рд▓рд╛ рд░рд╛рдХреНрд╖рд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдлрд┐рд▓рд╣рд╛рд▓ 3 рдкреИрдЯрд░реНрди рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ:
- рдЕрдЧрдореНрдп рдХреНрд╖реЗрддреНрд░
- рдпрд╛рдВрддреНрд░рд┐рдХреА
- рдмреЙрд╕
рдлрд┐рд▓рд╣рд╛рд▓ рдпрд╛рдВрддреНрд░рд┐рдХреА рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рдореИрдВ рдпрд╣ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд▓реЛрдЧ рдХреНрдпрд╛ рдХрд╣рддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ
рдЕрдЧрдореНрдп рдХреНрд╖реЗрддреНрд░ ред рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ, рдореИрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕реНрддрд░реАрдп рдбрд┐рдЬрд╛рдЗрди рдореБрджреНрджреЛрдВ рд╕реЗ рдирд┐рдкрдЯреВрдВрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рддреАрд╕рд░реЗ рд╕реНрддрд░ рдХреЛ рдЕрдВрдзреЗрд░рд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдПрдХ рдЧреБрдлрд╛ рдпрд╛ рдХрд╛рд▓рдХреЛрдард░реА рд╣реИред рдкреНрд░рдХрд╛рд╢ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рдеред
рдмреЙрд╕ ! рдпрд╣ рдХреЗрдХ рдкрд░ рдПрдХ рдЪреЗрд░реА рднреА рд░рд╣реЗрдЧрд╛ред рдореИрдВ рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рд╕реНрд╡рддрдВрддреНрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдкрдиреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рдеред
рд▓реЗрдЦ рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ
рд╕рднреА рдЦреЗрд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЛ
https://opengameart.org/ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдЕрд░реНрдерд╛рддреН:
рдмреЗрдЭрд┐рдЭрдХ рдФрд░ Habr├й рдкрд░ рдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП worldofonehero@gmail.com рдкрд░ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВред
рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╢реБрднрдХрд╛рдордирд╛рдПрдБред