рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ! рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЫрд▓рд╛рдВрдЧ рджреНрд╡рд╛рд░рд╛ рджреБрд╢реНрдордиреЛрдВ рдХреЗ рд╡рд┐рдирд╛рд╢ рдХреЛ рдХреИрд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬреИрд╕рд╛ рдХрд┐ рдорд╛рд░рд┐рдпреЛ рдореЗрдВ рд╣реИред рдореИрдВ рдЕрднреА рднреА рдЕрдкрдирд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рд╕реБрдЭрд╛рд╡ рдпрд╛ рд╕рдВрдХреЗрдд рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред рдЦреИрд░, рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдХрдИ рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рд▓реЗрдЦреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдХреЗрд╡рд▓ рджреЛ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╛рдП рдЧрдП, рдФрд░ рд╢рд╛рдпрдж рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛:
- рдкрд╣рд▓реЗ рдХреЛрд▓рд╛рдЗрдбрд░ рдкреЙрдЗрдВрдЯреНрд╕ рдХрд╛ рд╕рдВрдкрд░реНрдХ рд╣реИ,
- рджреВрд╕рд░рд╛ рдХреЙрд▓рд┐рдбрд░ рдХрд╛ рд╕рдВрдкрд░реНрдХ рд╣реИ, рдЬрдм рджреЛ рдХреЛрд▓рд╛рдЗрдбрд░ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рдЬрд╛рди рд▓реЗ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдЬреАрд╡рди рдХреЛ рд▓реЗ рдЬрд╛рдПрдЧрд╛, рдФрд░ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
public int health = 3; void Hurt() { health--; if (health <= 0) SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); }
1 рд╡рд┐рдХрд▓реНрдк
рд╣рдо рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ рд╕рдВрдкрд░реНрдХ рдмрд┐рдВрджреБ 0.6 рдХреА рдКрдВрдЪрд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рджреБрд╢реНрдорди рдХреЗ рдКрдкрд░ рд╕реЗ рдХреВрдж рдЬрд╛рддрд╛ рд╣реИ, рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдиреБрдХрд╕рд╛рди рдЙрдард╛рддрд╛ рд╣реИред
void OnCollisionEnter2D(Collision2D collision) { Enemy enemy = collision.collider.GetComponent<Enemy>(); if (enemy != null) { foreach (ContactPoint2D point in collision.contacts) { if (point.normal.y >= 0.6f) { enemy.EnemyHurt(); } else { Hurt(); } } }
(рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)
public void EnemyHurt() { Destroy(this.gameObject); }
(рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЬреЛ рджреБрд╢реНрдорди рдкрд░ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ)
2 рд╡рд┐рдХрд▓реНрдк
рдПрдХ рдХреЛрд▓рд╛рдЗрдбрд░ рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕реЗ рдореБрдЦреНрдп рдХреЛрд▓рд╛рдЗрдбрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдХрд░реЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдПрдХ рдЯрд┐рдХ "рдЯреНрд░рд┐рдЧрд░" рд░рдЦреЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓рдЯрдХрд╛рдПрдВ, рдФрд░ рдЗрд╕ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЬреЛрдбрд╝реЗрдВред
private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.name == "Player") Destroy(this.gameObject); }
(рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЬреЛ рджреБрд╢реНрдорди рдкрд░ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ)
рдЬрдм рдХреЛрд▓рд╛рдЗрдбрд░ "рдкреНрд▓реЗрдпрд░" рдирд╛рдордХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЫреВрддрд╛ рд╣реИ, рддреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рд╕рдВрдкрд░реНрдХ рдЪрд┐рд╣реНрди рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
рдЙрд╕реА рд╡рд╕реНрддреБ рдореЗрдВ рдЖрдЧреЗ рд╣рдо рдПрдХ рдФрд░ рдЧреЗрдордСрдмрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдбреЗрдердЬрд╝реЛрди рдХрд╣рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдПрдХ рдХреЛрд▓рд╛рдЗрдбрд░ рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдмрдбрд╝рд╛ рдХрд░реЗрдВ рдФрд░ "рдЯреНрд░рд┐рдЧрд░" рдмреЙрдХреНрд╕ рдХреЛ рдЪреЗрдХ рдХрд░реЗрдВред

private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.name == "DeathZone") { Hurt(); } }
(рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╡рд┐рдкрд░реАрдд, рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ, рдХреЛрд▓рд╛рдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдереЛрдбрд╝рд╛ рдмрдбрд╝рд╛ рдерд╛, рдФрд░ рдЯреНрд░рд┐рдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред

(рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк)
рдЖрдк рдпрд╣ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рджреБрд╢реНрдорди рдХреЗ рд╡рд┐рдирд╛рд╢ рдХреЗ рдмрд╛рдж рдЦрд┐рд▓рд╛рдбрд╝реА рдХреВрджрддрд╛ рд╣реИред рдЦреИрд░, рд╕рдм рдХреБрдЫ рд▓рдЧрддрд╛ рд╣реИ, рдЖрдк рд╕рднреА рдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!