рдЙрджреНрдШрд╛рдЯрди рдЯрд┐рдкреНрдкрдгреА
рдЖрдЬ рдХреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо рдпрд╣ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдкреБрд╢рдмрдЯрди рдЗрдВрдЬрди рдореЗрдВ рдХреАрдмреЛрд░реНрдб рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдХреИрд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдмрд╕ PushButton Engine (PBE) рд╕реЗ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ PBE рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╢реНрд░рдВрдЦрд▓рд╛ рд╕реЗ рдкрд╛рда # 1 , рдкрд╛рда # 2, рдФрд░ рдкрд╛рда # 3 рдкрдврд╝рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╣рдореЗрд╢рд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдореВрд▓ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкрд╛рда рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдХреАрдмреЛрд░реНрдб рдирд┐рдпрдВрддреНрд░рдг
"рдордиреБрд╖реНрдп, рд╕рдмреНрдЬрд┐рдпрд╛рдВ рдпрд╛ рд▓реМрдХрд┐рдХ рдзреВрд▓, рд╣рдо рд╕рднреА рджреВрд░ рд╕реЗ рдПрдХ рдЕрджреГрд╢реНрдп рд╕рдВрдЧреАрддрдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдмрдЬрд╛рдИ рдЧрдИ рд░рд╣рд╕реНрдпрдордпреА рдзреБрди рдкрд░ рдиреГрддреНрдп рдХрд░рддреЗ рд╣реИрдВред" - рдЕрд▓реНрдмрд░реНрдЯ рдЖрдЗрдВрд╕реНрдЯреАрдиред
рдЗрд╕ рдкрд╛рда рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХрд╕реНрдЯрдо рдШрдЯрдХреЛрдВ рдХреЛ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрдХреГрддрд┐ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдкрд┐рдЫрд▓реЗ рдкрд╛рдареЛрдВ рдХреА рддрд░рд╣, рдЗрд╕ рдкрд╛рда рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ: рдЫреЛрдЯреЗ рдЕрдВрддрд░рд╛рд▓ рдЬреЛ рдЫреЛрдЯреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг PusButton Engine рдХреА рд╕рдордЭ рдХреЛ рдЧрддрд┐ рджреЗрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдЕрднреА PBE рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкрд╛рда рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдирдП рд╣реЛрдВред
рд╕рд╛рдордЧреНрд░реА:
- рдкрд╛рда рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓реЗрдВ
- рдкрд╛рда рдХрд╛ рдкрд░рд┐рдЪрдп
- рдШрдЯрдХ рдирд┐рд░реНрдорд╛рдг
- рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
- рдирд┐рд╖реНрдХрд░реНрд╖
рдкрд╛рда рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓реЗрдВ
рд╕рдмрдХ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкрд╛рда рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рд╕рдмрдХ рд╢реБрд░реВ рдХрд┐рдЯ
рдпрджрд┐ рдЖрдк рдкрд╛рда рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ рд╕реЗ .swf рдлрд╝рд╛рдЗрд▓ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдПрдХ рдиреАрд▓рд╛ рд╕рд░реНрдХрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреВрд░реНрдг рдкрд╛рда рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреАред
рдкрд╛рда рдкрд░рд┐рдЪрдп
рдкрд┐рдЫрд▓реЗ рдкрд╛рда рдореЗрдВ, рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдПрдХ рд╕рд░рд▓ рдирд┐рдпрдВрддреНрд░рдХ рдШрдЯрдХ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬреЛ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЙрдбрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЪрд░рд┐рддреНрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдм, рд╣рдо рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PBE PBE.isKeyDown () рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЗрдирдкреБрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рдПрдХреНрд╢рди рдпрд╛ рдмрдЯрди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдИрд╡реЗрдВрдЯ рднреЗрдЬрдирд╛, PBE InputManager рдФрд░ InputMap рдХреНрд▓рд╛рд╕реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпреЗ рдХрдХреНрд╖рд╛рдПрдВ рдЕрдзрд┐рдХ "рдордЬрдмреВрдд" рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди, рдЖрдорддреМрд░ рдкрд░, рд╕рд░рд▓ рдЧреЗрдо рдмрдирд╛рддреЗ рд╕рдордп рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдкрд╛рда рдореЗрдВ рд╣рдо рдЙрдирдХреА рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдШрдЯрдХ рдирд┐рд░реНрдорд╛рдг
рдкрд┐рдЫрд▓реЗ рдкрд╛рда рдХреА рддрд░рд╣, рд╣рдо рдлрд┐рд░ рд╕реЗ 3 рд╕рд░рд▓ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рджреГрд╢реНрдп рдмрдирд╛рдПрдВрдЧреЗ: рдПрдХ рд░реЗрдВрдбрд░ рдШрдЯрдХ, рдПрдХ "рд╕реНрдерд╛рдирд┐рдХ" рдШрдЯрдХ рдФрд░ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдШрдЯрдХред рдФрд░, рдлрд┐рд░ рд╕реЗ, рд╣рдо рдПрдХ рдХрд╕реНрдЯрдо рдШрдЯрдХ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рдЯрд┐рдХрдЯрдХрдореНрдкреЛрдиреЗрдВрдЯ рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗрдЧрд╛ , рдЬрд┐рд╕рдореЗрдВ рд╣рд░ рдлреНрд░реЗрдо рдкрд░ рдЦреБрдж рдХреЛ "рдЕрдкрдбреЗрдЯ" рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред
рдпрд╣ рдирдпрд╛ рдШрдЯрдХ рдЬрд╛рдБрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдмрдЯрди рдмрд╛рдПрдБ рдпрд╛ рджрд╛рдПрдБ рджрдмрд╛рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдШрдЯрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧрд╛ред
InputKey рд╡рд░реНрдЧ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрдЯрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
// InputKey
InputKey.LEFT
//
InputKey.stringToKey( "LEFT" )
* This source code was highlighted with Source Code Highlighter .
рдкрд╛рда рдХреА рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЖрдкрдХреЛ HeroControllerComponent рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдорд┐рд▓реЗрдЧрд╛ред рдХреАрдмреЛрд░реНрдб рдИрд╡реЗрдВрдЯреНрд╕ рдореЗрдВ рдЬрд╡рд╛рдмрджреЗрд╣реА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рд░ рдмрд╛рд░ рдЬрдм рд╣рдо рдСрдирдХрд┐рдХ () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо PBE рдХреЛ рдЙрди рджрдмрд╛рдП рдЧрдП рдмрдЯрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╣рдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ PBE.isKeyDown () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
// isKeyDown() , , (true тАФ , false тАФ )
if (PBE.isKeyDown(InputKey.SPACE))
{
//
Logger.print( this , "Hey, cheer up!" );
}
* This source code was highlighted with Source Code Highlighter .
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд┐рд╕ рдХреБрдВрдЬреА рдХреЛ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рд╕реНрдерд╛рдирд┐рдХ рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓реЗ рдкрд╛рда рдХреА рддрд░рд╣, рд╣рдо рд╕рдВрдкрддреНрддрд┐ рдирд┐рдпрдо рд╢реНрд░реЗрдгреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдирд┐рдХ рдШрдЯрдХ рд╕реНрдерд┐рддрд┐ рдЪрд░ рдХрд╛ рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рд╣рдорд╛рд░реЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗред
рдирд┐рдпрдо рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣рдо рд╡рд╕реНрддреБ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓реЗрдВрдЧреЗ:
1) рдпрджрд┐ рд╕рд╣реА рдХреБрдВрдЬреА рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рджрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рдПрдВ
2) рдпрджрд┐ "рд╡рд╛рдо" рдХреБрдВрдЬреА рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рдПрдВ
3) рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рджрд╛рд╣рд┐рдиреЗ рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЧрдпрд╛ рд╣реИ: рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рджрд╛рд╣рд┐рдиреЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд▓реМрдЯрд╛рдПрдВ
4) рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдмрд╛рдПрдВ рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЧрдпрд╛ рд╣реИ: рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдмрд╛рдПрдВ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд▓реМрдЯрд╛рдПрдВ
рдЕрдм рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЪреАрдЬреЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рдо рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HeroControllerComponent рд╡рд░реНрдЧ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:
рдлрд╝рд╛рдЗрд▓ рдкрде: /src/HeroControllerComponent.as
package
{
import com.pblabs.engine.PBE;
import com.pblabs.engine.components.TickedComponent;
import com.pblabs.engine.core.InputKey;
import com.pblabs.engine.entity.PropertyReference;
import flash.geom.Point;
/**
* , ┬л┬╗ onTick()
*/
public class HeroControllerComponent extends TickedComponent
{
// ,
public var positionReference:PropertyReference;
public function HeroControllerComponent()
{
}
/**
* , .
*
* @param deltaTime , .
*/
public override function onTick(deltaTime:Number): void
{
//
var position:Point = owner.getProperty(positionReference);
// , ┬л┬╗
if (PBE.isKeyDown(InputKey.RIGHT))
{
//
position.x += 15;
}
// , ┬л┬╗
if (PBE.isKeyDown(InputKey.LEFT))
{
//
position.x -= 15;
}
//
if (position.x > 375)
{
//
position.x = 375;
//
} else if (position.x < -375)
{
//
position.x = -375;
}
//
owner.setProperty(positionReference, position);
}
}
}
* This source code was highlighted with Source Code Highlighter .
рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдПрдХ .swf рдлрд╝рд╛рдЗрд▓ рджреЗрдЦрдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рддрд░рд╣ рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП:
рдирд┐рд╖реНрдХрд░реНрд╖
рдмрдзрд╛рдИ рд╣реЛ, рдЖрдкрдиреЗ рдкрд╛рда 4 рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рд╕реАрдЦ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред
рдЖрдк рдЙрди рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рд╕реЗ рдкрд╛рда рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рдмрдХ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рд▓реЗрдЦ