рдирдорд╕реНрддреЗ! рддреБрд░рдВрдд рдореИрдВ рд╢реАрд░реНрд╖рдХ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБ - рдореИрдВ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реЛ рдЧрдпрд╛ред
рдХрд╣рд╛рдиреА рдХреЛрд░реЛрдирд╛ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рдореЗрд░реЗ рдЦреЗрд▓ (
рдЖрдИрдУрдПрд╕ ,
рдПрдВрдбреНрд░реЙрдЗрдб ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧреА, рдореБрдХреБрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕, "рдЧреЗрдо рдХреЛ 48 рдШрдВрдЯреЗ рдореЗрдВ рд▓рд┐рдЦреЗрдВ" рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рджреЗрд╡рдХреЛрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЧреЛ рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рдкрд░рд┐рдЪрдп
рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдПрдХ рддрд╛рдЬ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЙрд╡рд░ рд░рдХреНрд╖рд╛ рдЦреЗрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЦреЗрд▓ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдЧреЗрдо рд╕рдлрд▓рддрд╛ рдХреА рд░рд╛рд╣ рдкрд░ # 1 рдмрд┐рдВрджреБ рд╣реИрдВ (рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд┐рдВрджреБ # 2 рдмрд╣реБрдд рдкреИрд╕рд╛ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ рдкрд╛рдареНрдпрдХреНрд░рдо)ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рднрд▓реЗ рд╣реА рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛, рдФрд░ рдереЛрдбрд╝реЗ рд╕рдордп рдореЗрдВред
"рд╕рд╛рд╡рдзрд╛рдиреА рдордиреНрдиреЛрдЧрдмреБрдХрд╡!"
рдЧреАрдЧрд╛рдо рекam
рдФрд░ рдпрд╣рд╛рдВ рдордИ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдПрдХ рдЫреЛрдЯреЗ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЧреНрд▓рд┐рдЪ рдЧреЗрдореНрд╕ рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдЖрдпреЛрдЬрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рд╕рд╛рде рдореЗрдВ рдХреЛрд░реЛрдирд╛ рд▓реИрдмреНрд╕ рдХреЗ рд╕рд╛рде 48 рдШрдВрдЯреЗ рдореЗрдВ рдПрдХ рдЧреЗрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЬреИрд╕реЗ рд▓реБрджреБрдо рдбреЗрд░реЗ, рдХреЛрд░реЛрдирд╛ рдПрд╕рдбреАрдХреЗред рдореИрдВ рдПрдХ рдкрд╣реЗрд▓реА рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛, рджреЛ рд▓рдЧрднрдЧ рд░рд╛рддреЛрдВ рдХреА рдиреАрдВрдж рд╣рд░рд╛рдо рдХрд░рдирд╛ рдФрд░ рдореИрдВрдиреЗ рдЦреЗрд▓ рдХреЛ рд▓реЗрдЬрд░ рдлреНрд▓реЛ - рд▓реЗрдЬрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ред рддрдм рдЗрд╕реЗ рдХреЗрд╡рд▓ рд▓реЗрдЬрд░ рдкреНрд░рдпреЛрдЧ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ред рдРрд╕реЗ рдХреБрдЫ рдЦреЗрд▓ рд╣реИрдВ рдФрд░ рдореЗрд░реА рдкрд░реНрдпрд╛рдкреНрдд рдирд┐рдпрдВрддреНрд░рдг, рд░рдВрдЧ рдорд┐рд╢реНрд░рдг рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдВрдЦ рдФрд░ рдХрд╛рди рдХреЗ рд▓рд┐рдП рд╕реБрдЦрдж рд╣реИред рдореИрдВ рдЦреБрдж рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдЬреВрд░реА рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВред рдХреБрд▓ рдореЗрдВ рд▓рдЧрднрдЧ 35 рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ 23 рдЧреЗрдо рдереЗред
рдореИрдВрдиреЗ рдЬреВрд░реА рдХреЛ рдереЛрдбрд╝рд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди рдмрдирд╛рдИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рджрд░реНрдкрдгреЛрдВ рд╕реЗ рдкрд░рд╛рдмреИрдВрдЧрдиреАрдХрд┐рд░рдгреЛрдВ рдХреЗ рдкрд░рд╛рд╡рд░реНрддрди рдФрд░ рдПрдХ рдХреЛрд╢рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЗрдЬрд╝рд░реЛрдВ рдХреЗ рд╕рдВрдпреБрдХреНрдд рдорд╛рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреЛрдб рдкрд░ рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рд╡реЗ рдУрд╡рд░рд▓реИрдк рди рд╣реЛрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рде рдЪрд▓реЗрдВред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдЪрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрд╛, рдФрд░ рдЕрдм рдХреБрдЫ рд╕реНрддрд░реЛрдВ рдкрд░ рджрд░реНрдкрдг рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд▓реЗрдЬрд╝рд░реЛрдВ рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдЦреЗрд▓ рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЦреЗрд▓реЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЙрдореНрдореАрдж рдХрдо рд╣реЛрдиреЗ рд▓рдЧреАред рджрд┐рди рдмреАрдд рдЧрдП, рдХреЛрдИ рдирддреАрдЬрд╛ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛ред рддрдм рдпрд╣ рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рдереА рдХрд┐ рдирд┐рд░реНрдгрд╛рдпрдХ рдордВрдбрд▓ рдХреЛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдХрдИ рд╣рдлреНрддреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ # рдХреЛрд░реЛрдирд╛ рдЖрдИрдЖрд░рд╕реА рд░реВрдо рдореЗрдВ рджрдВрдЧреЗ рд╢реБрд░реВ рд╣реЛ рдЧрдП ...
рдпрд╣ рдХрдард┐рди рд╕рдордп рдерд╛ред рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдорд╣реАрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рд╡реИрд╕реЗ, рдпрд╣рд╛рдВ рдЦреЗрд▓ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ рдХрд┐ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдпрд╣ рдХреИрд╕реЗ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред
DevConf 2013
рдордИ рдХреЗ рдЕрдВрдд рддрдХ, DevConf рдЖрдпреЛрдЬрдХ рдиреЗ рдореБрдЭрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рдФрд░ рдЙрдирдХреА рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреАред рдореИрдВрдиреЗ рджреЛ рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛: рдХреЛрд░реЛрдирд╛ рдПрд╕рдбреАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЧреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдЙрдиреНрд╣реЛрдВрдиреЗ рджреЛрдиреЛрдВ рд░рд┐рдкреЛрд░реНрдЯ рд▓реАрдВ, рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдмрд╣реБрдд рдЦреБрд╢ рд╣реБрдЖред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдпреЛрдЬрдХреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж, рдореБрдлреНрдд рдпрд╛рддреНрд░рд╛, рдХрдорд░реЗ рдФрд░ рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдПред
рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рд╕рдореНрдореЗрд▓рди рдХреЗ рд▓рд┐рдП рдЦреЗрд▓ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдФрд░ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдПрдХ рдЬреАрд╡рдВрдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рддреБрд░рдВрдд рд╡реНрдпрд╛рдЦреНрдпрд╛рди рджреЗрдирд╛, рддрд╛рдХрд┐ рд▓реЛрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдЦреЗрд▓ рд╕рдХреЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпреЛрдЬрдирд╛ рдПрдХ рдЫреЛрдЯреА рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдиреЗ рдХреА рдереА - рдмрд╛рдХреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЧреБрдкреНрдд рд╕реНрддрд░ рддрдп рдХрд░реЗрдВ рдФрд░ рдЦреЗрд▓ рд▓реЛрдЧреЛ (рдЖрдЗрдХрди) рдХреЗ рд╕рд╛рде рдПрдХ рдЯреА-рд╢рд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рд╢реЙрдкрд┐рдВрдЧ рдмрдЧ рдХреЗ рдХрд╛рд░рдг, рдореЗрд░рд╛ рдЖрд╡реЗрджрди рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рд╕рдореНрдореЗрд▓рди рдХреЗ рджреВрд╕рд░реЗ рджрд┐рди рд╣реА рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╡реЗ рдЙрди рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреА-рд╢рд░реНрдЯ рдирд╣реАрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддреЗ рдереЗ рдЬрд┐рдирдХреА рдореБрдЭреЗ рдЬрд╝рд░реВрд░рдд рдереА (рд╡рд┐рд╢реЗрд╖ CMYK рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓)ред рд╡реИрд╕реЗ, 1024x1024 рдкрд┐рдХреНрд╕рд▓ рдЯреА-рд╢рд░реНрдЯ рдкрд░ 20x20 рд╕реЗрдореА рдХреА рддрд╕реНрд╡реАрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЦреЗрд▓ рдЦрддреНрдо рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдПрдХ рдорд╣реАрдиреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрд╛ред
рдореИрдВрдиреЗ рдШрд░ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд▓рд╛рдЗрдб рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рд╡рд┐рдорд╛рди рдкрд░ рдЬрд╛рд░реА рд░рд╣рд╛ рдФрд░ рд╣реЛрдЯрд▓ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред рдпрд╛рддреНрд░рд╛ iPad рдФрд░ Asus Eee Pc 701 4G рдореЗрдВ loubouta рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЯрдЪ рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде, рдПрдХ рдмреНрд▓реВ-рдЯреВрде рдФрд░ рдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд▓реЙрдЯред рдореЙрдбрдо рдХреЛ рд╣рдЯрд╛рдирд╛ рдкрдбрд╝рд╛ред рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдЦреБрдж рд▓рд┐рдмрд░рдСрдлрд┐рд╕ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рдереАрдВред
рдЦреЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЗ рдмрд╛рдж рдРрдк рд╕реНрдЯреЛрд░ рдореЗрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХрдмреБрдХ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдордореЗрдЯ рдкрд╛рд╡реЗрд▓ рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдпрд╣ рдЗрд╕ рд╕рдордп рдЦреЗрд▓ рдХреЛ рдордВрдЬреВрд░реА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред
рд╕рдореНрдореЗрд▓рди рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдереЗ рдФрд░ рдХреБрдЫ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдиреЗ рдЗрддрдиреЗ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдХрд┐ рд╕рднреА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдХреБрд░реНрд╕рд┐рдпрд╛рдВ тАЛтАЛрдирд╣реАрдВ рдереАрдВред рдореЛрдмреА рдЕрдиреБрднрд╛рдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрддрдирд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ рдерд╛ред
рдореЗрд░реА рд░рд┐рдкреЛрд░реНрдЯ рдЧреНрд░рд┐рдб рдкрд░ рдЕрдВрддрд┐рдо рдереА рдФрд░, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдХреБрдЫ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдХреБрдЯ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХреА, рдЬрд┐рд╕рдореЗрдВ рд╕рдордп-рд╕рдордп рдкрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХреБрдЫ рдмреЗрд╣рддрд░реАрди рдкреНрд░рдерд╛рдУрдВ рдФрд░ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯ рд╕рд╛рдЗрдЯ рдХреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдХреА рдПрдХ рд╕реВрдЦреА рд░реАрдЯреЗрд▓рд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрдЧреА, рдореИрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд▓рдЧрднрдЧ рдХреЛрдИ рднреА рд╢реНрд░реЛрддрд╛ рдпрд╛ рддреЛ рддрд╛рдЬ рдпрд╛ рд▓реБрдЖ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛ред рдореБрдЭреЗ рддрдереНрдп-рдЦреЛрдЬ рдХреЗ рдХрд░реАрдм рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдерд╛, рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдХрд┐ рдореБрдХреБрдЯ рдХреНрдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдФрд░ рд▓реВрдЖ рд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдкрд░рд┐рдЪрдп рдХрд░рдирд╛ рд╣реИред
рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП, рдЬрдмрдХрд┐ рдореИрдВ рддрд╛рдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рд╕рдореНрдореЗрд▓рди рдХрд╛ рдкрд╣рд▓рд╛ рджрд┐рди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЧреЛ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рд╢реБрд░реВ рдирд╣реАрдВ рдХреА рд╣реИред рдПрдХ рддреНрд╡рд░рд┐рдд рдЬрдирдордд рд╕рд░реНрд╡реЗрдХреНрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рджрд░реНрд╢рдХреЛрдВ рдХреЛ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдерд╛ рдФрд░ рд╣рдордиреЗ рд╣реЛрдЯрд▓ рдХреЗ рднреВрддрд▓ рдкрд░ рдЗрд╕реЗ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╣рдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рдереЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдПрдХ рдмрдбрд╝реА рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде рдПрдХ рд▓реИрдкрдЯреЙрдк рджрд┐рдпрд╛ (рдзрдиреНрдпрд╡рд╛рдж!), рдкреНрд░реЛрдЬреЗрдХреНрдЯрд░ рдХреЗ рдмрдЬрд╛рдп, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рд░ рдХреЛрдИ рдмреИрдардиреЗ рдореЗрдВ рд╕рд╣рдЬ рдирд╣реАрдВ рдерд╛ рдФрд░ рд╣рд░ рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдареАрдХ рд╣реИред рдореИрдВрдиреЗ рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рд╕рднреА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмрд╛рдд рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдЧреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдФрд░ рдмрд╛рдд рдХреА, рдХрд┐ рд╣рдо рд╕рднреА рдЗрд╕реЗ рдХреИрд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рднрд╛рд╖рд╛ рдкрд░ рдПрдХ рдкреБрд╕реНрддрдХ рд╢реНрд░реЛрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рдереА (рдореИрдВ рднреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ!)
рджреВрд╕рд░реЗ рджрд┐рди рдЙрдЪреНрдЪ рднрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд░рд┐рдкреЛрд░реНрдЯреЗрдВ рдереАрдВред
рд╕рдореНрдореЗрд▓рди рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рджреЗрд╡рдХреЙрдл рд▓реЛрдЧреЛ, рдиреЛрдЯрдмреБрдХ, рдкреЗрди, рдмреИрдЬ рдФрд░ рд╣реЛрдЯрд▓ рд╕реЗ рдПрдХ рдорд┐рдиреА рдЯреВрдердмреНрд░рд╢ рдХреЗ рд╕рд╛рде рдПрдХ рдмреЗрд╕рдмреЙрд▓ рдЯреЛрдкреА рд╣реИред рдпрд╣ рд╕рдм DevConf рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдпрд╣ рдХрдорд╛рд▓ рдерд╛ред
рдореЗрд░реА рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рд╕реНрд▓рд╛рдЗрдб рдореЗрд░реА рд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рд╡рд┐рд╖рдп рдХреЗ рдиреАрдЪреЗ рд▓рд┐рдВрдХред
рдХреЛрд░реЛрдирд╛ sdk
рдореБрдХреБрдЯ рдЕрдЪреНрдЫрд╛ рд╣реИред рдпрд╣ рдЧреЗрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред рдкрд╛рдпрдерди рдФрд░ рдкреАрдПрдЪрдкреА рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд▓реВрдЖ рд╕реАрдЦрдиреЗ рдореЗрдВ рд╕рд┐рд░реНрдл рдХреБрдЫ рджрд┐рдиреЛрдВ рдХрд╛ рд╕рдордп рд▓рдЧрд╛, рдПрдХ рдФрд░ рд╣рдлреНрддреЗ рдореЗрдВ рдореБрдЭреЗ рднрд╛рд╖рд╛, рдУрдУрдкреА рдФрд░ рдХреЛрд░реЛрдирд╛ рдПрдкреАрдЖрдИ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реАред
Lua рдореЗрдВ рд╢рд╛рдВрдд рд╕рд╛рдордЧреНрд░реА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдкрд┐рдЫрд▓реЗ рддрддреНрд╡ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдЗрд╕реА рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪреЗрдВ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
local txt = a and a.text and a.text:lower() or 'default'
рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡реЗ рдЕрдХреНрд╕рд░ рдЧрд▓рддреА рдХрд░рддреЗ рд╣реИрдВред
local function myFunc() print('Nya') end timer.performWithDelay(1000, myFunc(), 1)
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдЯрд╛рдЗрдорд░ рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди (рдПрдирдЖрдИрдПрд▓) рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рдХреЗ рдмрд╛рдж рдХреЛрд╖реНрдардХ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рдмрд╛рд░, рдЖрдИрдЖрд░рд╕реА рд╕реЗ рдкреВрдЫрд╛ рдЧрдпрд╛ рдХрд┐ рдЯрд╛рдЗрдорд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреЗ рдмрд╛рдж рди рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЬрд╛рдП, рдмрд▓реНрдХрд┐ рдЕрднреАред рдЙрддреНрддрд░ - рдмрд╕ рдЗрд╕реЗ рдЙрд╕реА рдЬрдЧрд╣ рдХреЛрдб рдореЗрдВ рдХреЙрд▓ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдЯрд╛рдЗрдорд░ рдмрдирд╛рддреЗ рд╣реИрдВред
рдЕрдзрд┐рдХ рд▓реБрдЖ рдЪреАрдиреА рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ:
object.property -> object['property'] local function nya() -> local nya = function() object:method(params) -> object.method(object, params) someFunction{name = 'Someone'} -> someFunction({name = 'Someone'}) .
Lua рдореЗрдВ OOP
OOP рдореЗрдЯрд╛рдореЗрдереЛрдб (PHP рдореЗрдВ рдЬрд╛рджреВ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрджреНрдо рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рд╢рд╛рдпрдж рдпрд╣ рд╕рд╛рдзрд╛рд░рдг рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреЛрдиреЛрдВ рдирд┐рдЬреА рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ, рдФрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рднреА, рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
OOP рдХреЛрдб рджрд┐рдЦрд╛рдПрдВрдЦрд╛рд▓реА рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк:
local function newObject() local object = {} return object end local myObject = newObject()
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:
local function newObject() local object = {} object.somePublicVar = 100 return object end local myObject = newObject() print(myObject.somePublicVar)
рдЕрдм рдХреБрдЫ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ:
local function newObject() local object = {} object.somePublicVar = 100 function object:setName(name) self.name = name end return object end local myObject = newObject() myObject:setName('Nyashka') print(myObject.name)
рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЪрд░ рд╕реНрд╡ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдПрдХ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдПрдХ рдбреЙрдЯ рдХреЗ рд╕рд╛рде рднреА рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдЬреА рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:
local function newObject() local object = {} object.somePublicVar = 100 local money = 0 function object:setName(name) self.name = name end function object:addMoney(amount) money = money + amount end return object end local myObject = newObject() myObject:setName('Nyashka') myObject:addMoney(50) print(myObject.money)
рдпрджрд┐ рд╣рдо рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЪрд░ рддрд╛рд▓рд┐рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдЬрд┐рд╕рдиреЗ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЪрд░ addMoney () рд╡рд┐рдзрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдЕрдм рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░:
local function newObject() local object = {} object.somePublicVar = 100 local money = 0 function object:setName(name) self.name = name end function object:addMoney(amount) money = money + amount end return object end local function newChild() local object = newObject() return object end local myChild = newChild()
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдЦрд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛ {} рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдЖрдзрд╛рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ newChild рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЖрдк рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдгреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрд░рдХреНрд╖рд┐рдд рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд░реЛрдЪрдХ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдПрдХ рдирд┐рдЬреА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд╕рднреА рд╕рдВрд░рдХреНрд╖рд┐рдд рдЪрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╛рдкрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдо рд╡рд┐рд░рд╛рд╕рдд рджреНрд╡рд╛рд░рд╛ рдкреИрд╕рд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
local function newObject() local object = {} object.somePublicVar = 100 local protected = {money = 0} function object:setName(name) self.name = name end function object:addMoney(amount) protected.money = protected.money + amount end function object:getMoney() return protected.money end return object, protected end local function newChild() local object, protected = newObject() function object:spendMoney(amount) protected.money = protected.money - amount end return object end local myChild = newChild() myChild:addMoney(100) myChild:spendMoney(60) print(myChild:getMoney())
рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирдпрд╛ рдкреБрд░рд╛рдирд╛ рдорд┐рдЯрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЖрд╡рд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдкреБрд░рд╛рдиреА рд╡рд┐рдзрд┐ рдХреЛ рдкрд╣рд▓реЗ рдПрдХ рдЪрд░ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдирдИ рд╡рд┐рдзрд┐ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
local function newObject() local object = {} object.somePublicVar = 100 local protected = {money = 0} function object:setName(name) self.name = name end function object:addMoney(amount) protected.money = protected.money + amount end function object:getMoney() return protected.money end return object, protected end local function newChild() local object, protected = newObject() function object:spendMoney(amount) protected.money = protected.money - amount end local parent_setName = object.setName function object:setName(name) name = 'Mr. ' .. name parent_setName(self, name) end return object end local myChild = newChild() myChild:setName('Nyashka') print(myChild.name)
рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрд░реЛрдирд╛ рдПрд╕рдбреАрдХреЗ рдПрдкреАрдЖрдИ рд╕реЗ рдХрд┐рд╕реА рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдЦрд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛ {} рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдЬреЛ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрд╣ display.newImage (), display.newRect () рдпрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдореИрдВ display.newGroup () рд╕рдореВрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдпрджрд┐ рдЖрдк рдПрдХ рд╕рдореВрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЕрдиреНрдп рдЧреНрд░рд╛рдлрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдореВрд╣ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдзреАрдорд╛ рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдирдХрд╛ рдпрдерд╛рд╕рдВрднрд╡ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдПрдХ рдореЙрдбреНрдпреВрд▓ рдПрдХ рдЯреЗрдмрд▓ рднреА рд╣реИ рдФрд░ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рднреАред рдЖрдк рдУрдУрдкреА рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ, рдореЙрдбреНрдпреВрд▓ рдХреАрд╡рд░реНрдб / рдлрд╝рдВрдХреНрд╢рди рдореЙрдбреНрдпреВрд▓ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦреЗ рдЧрдП рдереЗред рдЙрд╕реЗ рдмрдирд╛рдП рдЬрд╛ рд░рд╣реЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЙрд╕рдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рд╣реМрд▓ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ, рд╕реНрдерд╛рдиреАрдп рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛, рддрд╛рдХрд┐ рдЙрд╕реЗ "рд╕реНрдерд╛рдиреАрдп" рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ, рд╕рднреА рдЪрд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рди рдкрд░ рд░рдЦреЗ рдЧрдП рдереЗред рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдФрд░ рдЕрдиреНрдп рдЬреИрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рдереАред рдлрд┐рд░ рд╡реЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрдП рдХрд┐ рдореЙрдбреНрдпреВрд▓ () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рд╕рднреА рд╡реИрд╢реНрд╡рд┐рдХ рдЪреАрдЬреЛрдВ рдХреА рдЦреЛрдЬ рдХреА рдЬрд╛рдПрдЧреА рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - _G рдореЗрдВред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рд░реЛрд╣ рдкреИрдХреЗрдЬ.рд╕реЗрд▓ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдерд╛ред рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдВрджрд░ рди рдХреЗрд╡рд▓ рд╕рднреА рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЪрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдФрд░ рд░рдЦреЗ рдЧрдП рдереЗред рдЦрд┐рдЪрдбрд╝реАред рдЪрд╛рдБрдж рджрд▓рд┐рдпрд╛ред рд╡реИрд╢реНрд╡рд┐рдХ рдЪрдВрджреНрд░рдорд╛ рджрд▓рд┐рдпрд╛ред
рдореИрдВ рдкреЗрд╕реНрдЯрд┐рдмрд┐рди рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдЙрджрд╛рд╣рд░рдг рдореЙрдбреНрдпреВрд▓ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реВрдВрдЧрд╛:
рд╣рдо рдПрдХ рдореЙрдбреНрдпреВрд▓ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЬреЛ рд╕рд╛рдордЧреНрд░реА рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдЕрдВрджрд░ рд╣реИрдВрдбрд▓ рдХреЗ рд╕рд╛рде рдбрд╛рд▓рддреЗ рд╣реИрдВред рд╕рдм рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд╕рдм рдХреБрдЫ рдЕрджреНрднреБрдд рд╣реИред
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ _M рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рдореЙрдбреНрдпреВрд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдХреЛрд░реЛрдирд╛ рдПрд╕рдбреАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рддреАрди рдбреЙрдЯреНрд╕ ... рдорддрд▓рдм рдореМрдЬреВрджрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреА рдПрдХ рдЪрд░ рддрд░реНрдХ рд╕реВрдЪреА? рдЗрд╕рд╕реЗ рд░реИрдкрд░ рдпрд╛ рд╡реЗрд░рд┐рдПрдмрд▓ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
local function my_warning_print(...) print('Warning:', unpack(arg)) end
Lua рдХреА рдЧрддрд┐ C. LuaJIT рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ 20 рдЧреБрдирд╛ рдХрдо рд╣реИ, рдХреЗрд╡рд▓ рдХреБрдЫ рдмрд╛рд░ рдзреАрдореА рд╣реИ, рд▓реЗрдХрд┐рди iOS рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕рдВрдХрд▓рди рдирд┐рд╖рд┐рджреНрдз рд╣реИред Pichalkaред рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддрд╛рдЬ рдореЗрдВ рдпрд╣ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИред рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рд▓реВрдЖ рдмрд╣реБрдд рдХрдо рд╣реА рдЕрдбрд╝рдЪрди рд╣реИред рдХреЗрд╡рд▓ рдЧрд╣рди рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рдеред
рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдФрд░ рдореБрдХреБрдЯ рдХреЗрд╡рд▓ рдЙрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╛рдл рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд╣ рд╕рдм рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдирд╣реАрдВ рд╣реИ рд╡рд╣ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реНрдЯреЛрд░ рдЪрд░ред
рд╕реЗрд╡рд╛ рджреГрд╢реНрдпрддрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдПрдХ рдЪрд░ рдХреА рдЦреЛрдЬ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд╡реНрдпрддреАрдд рд╣реЛрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреА рджреГрд╢реНрдпрддрд╛, рдлрд┐рд░ рдЪреЗрди рдХреЛ _G рддрдХ рд╣реАред рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рд╡реЗ рдзреАрдореЗ рд╣реИрдВред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рди рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕рднреА рдЪрд░ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╢ред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдордд рдХрд░реЛред рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рдХреИрд╢ рдЧрддрд┐ рдореЗрдВ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдХреЗрд╡рд▓ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╣реБрдд рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрдирдВрдд рдЯрд╛рдЗрдорд░ рдпрд╛ рдПрдХ рдШрдЯрдирд╛ рд╣реИрдВрдбрд▓рд░ enterFrame рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рд░ рдлреНрд░реЗрдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рддрдХ рд▓реБрдЖ рдиреЗ рд╡рд░реНрддрдорд╛рди рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛрдб рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддрдм рддрдХ рдХреЛрд░реЛрдирд╛ рд░реЗрдВрдбрд░рд░ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдкреИрд░рд╛рдореАрдЯрд░ x рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдХрдИ рдмрд╛рд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдХрд╣рдиреЗ рджреЗрдВ, рдлрд┐рд░ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдорд╛рди рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
рдХреИрд╢ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ math.random, table.insert, ipars, рдЬреЛрдбрд╝реЗ рдФрд░ рдЕрдиреНрдп рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рднреАред
рд╡реИрд╢реНрд╡рд┐рдХ рджреГрд╢реНрдпрддрд╛ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреВрдбрд╝реЗ рди рдХрд░реЗрдВ, рдЖрдк рдХреБрдЫ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛ рдмрд╕ рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╣реЛрдЧрд╛ред
рдпрд╣ рдЙрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ _G рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд╕реНрдерд┐рдд рд╣реИ, рдмрд╕ рдЙрд╕ рдкрд░ рдкреНрд░рд┐рдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВред рдкреНрд░рджрд░реНрд╢рд┐рдд рдЪрд░ рдпрд╛рдж рд░рдЦреЗрдВ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрднреА рди рдХрд░реЗрдВред рдХреБрдЫ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ _G рдореЗрдВ рдХреБрдЫ рднреА рдордд рдбрд╛рд▓реЛред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╣реИред рд╡реИрд╢реНрд╡рд┐рдХ рджреГрд╢реНрдпрддрд╛ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХрдИ рддрддреНрд╡ рд╣реЛрдВ, рдЬреИрд╕реЗ рдЖрдкрдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд▓рд┐рдХрд╛ (рдЬреИрд╕реЗ рдирд╛рдорд╕реНрдерд╛рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдПрдкреНрд▓рд┐рдХреЗрд╢рди"), рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдпрд╛ рдмрд╕ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореЙрдбреНрдпреВрд▓ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рджреГрд╢реНрдп рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд▓рд┐рдЦрдирд╛ рди рдкрдбрд╝реЗред
рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╕рдордп, рд╡реЗ FPS, рдмрдирд╛рд╡рдЯ рд╕реНрдореГрддрд┐ рдФрд░ Lua рдореЗрдореЛрд░реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА рдмрд╛рд░, рд╕рднреА рдХреЛ рдШрдмрд░рд╛рд╣рдЯ рд╣реЛрддреА рд╣реИ "рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдХрд╣рд╛рдВ рд╕реЗ рд╣реИред" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реНрдореГрддрд┐ рдХреА рдЦрдкрдд рдореЗрдВ рдПрдХ рдЪрд┐рдХрдиреА рд╡реГрджреНрдзрд┐ рдЖрджрд░реНрд╢ рд╣реИ, рд▓рдЧрднрдЧ 10kB рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдбред рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдореГрддрд┐ рдЕрдкрдиреЗ рдиреНрдпреВрдирддрдо рдореВрд▓реНрдп рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдЖрдкрдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рдпрд╣ рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╛рд╣рдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрдгрдирд╛ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЪрд▓рд╛рдПрдВ, рддрд╛рдХрд┐ рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдзреАрдорд╛ рди рдХрд░реЗред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓реБрдЖ рдореЗрдореЛрд░реА рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред рдореБрдЦреНрдп рдЦрдВрдб рдмрдирд╛рд╡рдЯ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИред рд╡реАрдбрд┐рдпреЛ рдЪрд┐рдк рдХреЗ рдЕрдВрджрд░, рд╕рднреА рдмрдирд╛рд╡рдЯ (рдорддрд▓рдм рдХрд┐рд╕реА рднреА рдЫрд╡рд┐) рдХреЛ рджреЛ рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рд░реНрд╡реЛрддреНрддрдо рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рджреЛ рдХреА рд╢рдХреНрддрд┐ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣реЗрдВред
рдХреЛрд░реЛрдирд╛ рдореЗрдВ, рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдлрд╝реНрд░реЗрдо рджрд░ рдпрд╛ рддреЛ 30 рдпрд╛ 60 рдкрд░ рд╕реЗрдЯ рд╣реЛрддреА рд╣реИ, рд╣рдореЗрд╢рд╛ 60 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрд╣реБрдд рдЪрд┐рдХрдирд╛ рдФрд░ рджреЗрдЦрдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдм рдХреБрдЫ рдЪреЗрддрдиред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдЕрдЪреНрдЫреЗ рдлреЙрд░реНрдо рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХрдо рд╕реЗ рдХрдо рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ newImage, рдЖрджрд┐ рдХреЗ рдорд╛рдирдХ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЖрд╡рд░рдг рдХрд╛рд░реНрдп рднреА рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдЕрдкрдиреА рд╡рд╕реНрддреБ рдХреЗ рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдПрдиреАрдореЗрд╢рди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рддреБрд░рдВрдд рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдмрд╕ рдЙрдирдХреЗ рд╕рд╛рде рдмрд╣реБрдд рджреВрд░ рдордд рдЬрд╛рдУред рд╕рдВрд╡реЗрджрдирд╛ рдпрд╛ рдирд┐рд╖реЗрдз рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рд╣реИ рдХрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмрд╣реБрдд рд╣реА рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░рд╡рд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдордЧреНрд░ рдЕрдиреБрднрд╡ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдорд╛рдирдХ newImage рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдЖрд╡рд░рдг рд╣реИред рдЖрдк рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
NewImage рдФрд░ рдЙрдкрдпреЛрдЧреА рдЫреЛрдЯреА рдЪреАрдЬреЛрдВ рдкрд░ рд▓рдкреЗрдЯреЗрдВ local _M = {} _W = display.contentWidth _H = display.contentHeight _T = display.screenOriginY
Pastebin.com/GWG3sJLZ рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ
рдПрдВрдХрд░ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рдорд╛рди рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реБрдП, рдЕрддреНрдпрдВрдд рдЙрдкрдпреЛрдЧреА рд╕реЗрдЯрдЖрд░рдкреА рдлрд╝рдВрдХреНрд╢рди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдФрд░ рдирд╛рдо рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд░рдВрдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рднреАред
Android рдореЗрдВ рдмреИрдХ рдмрдЯрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЕрдкрдиреЗ main.lua рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ
Runtime:addEventListener('key', function (event) if event.keyName == 'back' and event.phase == 'down' then local scene = storyboard.getScene(storyboard.getCurrentSceneName()) if scene and type(scene.backPressed) == 'function' then return scene:backPressed() end end end);
рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рджреГрд╢реНрдп рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЗрд╕ рдмрдЯрди рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди:
function scene:backPressed() storyboard.gotoScene('scenes.menu', 'slideRight', 200) return true end
"рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ" рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ рдФрд░ native.requestExit () (рдХреЗрд╡рд▓ Android рдХреЗ рд▓рд┐рдП, iOS - os.exit ()) рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред
рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд┐рдЦрдВрдбрди рдХреЗ рд▓рд┐рдП config.lua рд░рд╛рдордмрд╛рдг
рдбрд╛рдпрдирд╛рдорд┐рдХ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдареАрдХ рд╣реИред рд▓рдЧрднрдЧред
рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рднрд╛рдЧ (рдЖрдорддреМрд░ рдкрд░ 320x480) рдХреЛ рджреГрд╢реНрдпрдорд╛рди рд░рдЦрддреЗ рд╣реБрдП рдФрд░ рдХрд┐рд╕реА рднреА рджреЛ рдХрд┐рдирд╛рд░реЛрдВ (рд▓реЗрдЯрд░рдмреЙрдХреНрд╕) рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рди рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░ рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рддрддреНрд╡реЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВ - рд╕реНрдХреНрд░реАрди рдХреЗ рдХреЛрдиреЗ, рдкрдХреНрд╖реЛрдВ рдХреЗ рдХреЗрдВрджреНрд░ рдпрд╛ рд╕рдВрдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди рдХреЗ рдХреЗрдВрджреНрд░ред рдЙрди рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдХреНрд░реАрди рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдереЛрдбрд╝рд╛ рдЫреЛрдЯрд╛ рдпрд╛ рдмрдбрд╝рд╛ рджрд┐рдЦрддрд╛ рд╣реИ - рддреЛ рдХреЛрдИ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд╛рдлреА рдмрдбрд╝рд╛ рдмрдирд╛ рджрд┐рдпрд╛ рдЬрд╛рдПред рдПрдХ рдмрдЯрди рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо 32 рдкрд┐рдХреНрд╕реЗрд▓ред рдмреЗрд╣рддрд░ 64 рдпрд╛ рдХрдо рд╕реЗ рдХрдо 48 рд╣реИред рдЖрдкрдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдХреЛрдиреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рдпрдВ рд╕реНрдХреНрд░реАрди рдХреЗ рдХреЛрдиреЗ рд╣реИрдВ, рдпрд╣ рд╕реНрдХреНрд░реАрди рдХреЗ рдЖрднрд╛рд╕реА рдХреНрд╖реЗрддреНрд░ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдХ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рд╣реИред
рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк config.lua рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рд╕рд╛рдордЧреНрд░реА рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд┐рд╕ рд▓рд┐рдП? рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдкрд┐рдХреНрд╕реЗрд▓ рд╕рд╣реА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдиреНрдпрдерд╛, рддрд╕реНрд╡реАрд░ рдереЛрдбрд╝реА рдзреБрдВрдзрд▓реА рд╣реИ рдФрд░ рд╕рд╣реА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЦреЛ рдЧрдИ рд╣реИред
рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдореЗрдВ рдбрд╛рд▓реЗрдВ - рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп, рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб, рдЪрд┐рддреНрд░реЛрдВ, рдзреНрд╡рдирд┐рдпреЛрдВ рдФрд░ рд╢рд╛рдпрдж рд╕рдВрдЧреАрдд рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд╣реЛрдЧрд╛ред рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЗрд╕-рд╕рдВрд╡реЗрджреА рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдХрдо рдХреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмреИрдХрдЕрдк рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП bitbucket.com рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдХреБрдЫ рд╣реА рд▓реЛрдЧреЛрдВ рдХреА рдЯреАрдореЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рдЬреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореБрдлрд╝реНрдд рд╣реИред
рдЖрдк рдЕрдкрдиреЗ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рд╕рд╛рдЙрдВрдбрдХреНрд▓рд╛рдЙрдб, indiegamemusic, google рдкрд░ рд╕рдВрдЧреАрдд рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдЧрд░рдмреЗ рдмреИрдВрдб, рдлреНрд░реВрдЯреАрдПрд▓реЛрдкреНрд╕, рдСрдбреЗрд╕рд┐рдЯреА рдФрд░ рдмреАрдПрдХреНрд╕рдПрдХреНрд╕рдЖрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред
8-рдмрд┐рдЯ рд╕рд┐рдВрдереЗрд╕рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдЧреИрд░рд╛рдЬ рдмреИрдВрдб рдореЗрдВ, рдЖрдк рдПрдХ рдЕрдЪреНрдЫрд╛, рдЖрдзреБрдирд┐рдХ рдкреБрд░рд╛рдирд╛ рд╕реНрдХреВрд▓ рд╕рд╛рдЙрдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рднрд╛рд╡ рдФрд░ рддреБрд▓реНрдпрдХрд╛рд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдЖрдк рдмрдЯрди рд╡рд┐рдЬреЗрдЯ рдХреЗ onRelease рдмрдЯрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред _view._onReleas ()ред
рдорд╛рдирдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВред рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдореБрдХреБрдЯ ios (native.showPopu ('twitter')) рдХреЗ рддрд╣рдд рдЯреНрд╡рд┐рдЯрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╛ рдХрд┐ рдЖрдк рд╕реАрдзреЗ рдЖрд╡реЗрджрди рд╕реЗ рдмрд╛рдЬрд╛рд░ рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдорд▓реНрдЯреАрдЯрдЪ рдХреЗ рд╕рд╛рде, рдЖрдк рджреЛ рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рд╕реЗ рдЕрдкрдиреЗ рдмрдЯрди рдХреЛ рджреЛ рдмрд╛рд░ рджрдмрд╛рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдРрд╕рд╛ рдХреБрдЫ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрдИ рдмрд╛рд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдмрдЯрди рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЭрдВрдбрд╛ рдбрд╛рд▓реЗрдВ рдЬрд┐рд╕реЗ рд╡рд╣ рд╕рдХреНрд░рд┐рдп рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдЙрд╕реЗ рджрдмрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдкрдиреЗ рдЧреЗрдо рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ, рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реБрдзрд╛рд░реЗрдВ, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдлреНрд▓рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рд╕реБрдЭрд╛ рд╕рдХреЗрдВред
рдХреЛрд░реЛрдирд╛ рдПрд╕рдбреАрдХреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдИрдбреАрдИ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЬрд╝реАрд░реЛ рдмреНрд░рд╛рди рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ рдЪреБрдирд╛ - рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд, рд░реВрд╕реА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдбреЗрд╡рд▓рдкрд░, рд▓реБрдЖ + wxWidgets рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдоред рдЕрдиреНрдп рдЖрдИрдбреАрдИ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЖрдо рддреМрд░ рдкрд░ рдмреЗрд╣рддрд░ рд╣реИред
рдЬрд╛рдУ
рдорд╕реНрдд рд╣реЛ рдЬрд╛рдУред рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдореИрдВрдиреЗ рдЙрд╕ рдкрд░ рдПрдХ рдФрд░ рдЧреЗрдо (рдСрд░реНрдбрд░) рдХрд╛ рд╕рд░реНрд╡рд░ рднрд╛рдЧ рд▓рд┐рдЦрд╛ рдФрд░ рдореБрдЭреЗ рдпрд╣ рдмрд╣реБрдд рдкрд╕рдВрдж рдЖрдпрд╛ред рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдФрд░ рд╕реБрд╡рд┐рдзрд╛ C / C ++ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИ, рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐ рдпрд╛ рддреЛ рдереЛрдбрд╝реА рдзреАрдореА рд╣реИ рдпрд╛ рд╕рдорд╛рди рд╣реИред рдЕрдм рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╕рдореБрджрд╛рдп рд╣реИ рдФрд░ рдХрд╛рдлреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИред
рд▓реЗрдЬрд░ рдкреНрд░рд╡рд╛рд╣
рдпрд╣ рдЧреЗрдо 15 рдЬреВрди рдХреЛ рдРрдк рд╕реНрдЯреЛрд░ рдкрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рджрд┐рди, 3,000 рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ 10 рдЦрд░реАрдж рдереЗред рд╢рд╛рдпрдж рдЦреЗрд▓ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛, рдФрд░ рд╢рд╛рдпрдж рдЦреЗрд▓ рдХреЗ рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдПред
рдореИрдВ рд╕реНрддрд░ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╕реНрддрд░ рд╕рдВрдкрд╛рджрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдорд╛рд░ рдбрд╛рд▓рд╛ред рдореИрдВрдиреЗ рд╕рднреА рдХреЛрдб рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ LuaJIT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рдХрд╛рд╕ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЫрдБрдЯрд╛рдИ рд╡рд╛рд▓реА рд╡рд┐рд╡рд┐рдзрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдирддреАрдЬрд╛ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдирд┐рдХрд▓рд╛ - рд╕реНрддрд░ рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рд╣рд▓ рд╣реЛрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдХрдо рдкрде рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬрдирд░реЗрдЯрд░ рд╕реЗ рдХреЗрд╡рд▓ рдлреАрд▓реНрдб рдЬрдирд░реЗрдЯрд░ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдПрдмрд┐рд╕ рдСрдлрд╝ рд░реИрдВрдбрдо рдХрд╣рд╛ред
рд╕рдВрдкрд╛рджрдХ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЦреЗрд▓ рдХреЗ рдЕрдВрджрд░ рд╣реА рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЕрд╕реБрд╡рд┐рдзрд╛ рд╣реИ - рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдмрдЯрдиреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП, рдпрджрд┐ рдЖрдк рдПрдХ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкреИрдирд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЕрд▓рдЧ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХреАрдмреЛрд░реНрдб рдХреА рд╢рдХреНрддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╣реИред
рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдЧрдардмрдВрдзрди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЕрдЬрдЧрд░ рдкрд░ рдореИрдХ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреАрд▓реЙрдЧрд░ рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдХреНрд░рд┐рдп рд╡рд┐рдВрдбреЛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЧреБрдЧрд▓реЗ рдХрд┐рдпрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдХреЛрд░реЛрдирд╛ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╣реИ, рддреЛ рд╕рд╛рджреЗ рдкрд╛рда рдореЗрдВ рдпреВрдбреАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рднреЗрдЬреЗрдВред рдПрдХ рдпреВрдбреАрдкреА рд╕рд░реНрд╡рд░ рддрд╛рдЬ рдореЗрдВ рдЙрдЧрддрд╛ рд╣реИ рдФрд░ рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ рдЬрдм рд╣рдо рд╕реАрдзреЗ рдЦреЗрд▓ рдореИрджрд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рджреГрд╢реНрдп рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдирддреАрдЬрддрди, рд╕рд░рд▓ рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдХреЗ рд╕рд╛рде, рдореИрдВ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдореИрдВ рдЗрд╕реЗ рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдореИрдВ рд▓реЗрдЬрд╝рд░реЛрдВ рдХреЗ рд░рдВрдЧ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд▓рдХреНрд╖реНрдп рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╕рдм рдХреБрдЫ рдмреЗрд╣рдж рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд┐рдХрд▓рд╛ред 140 рдХрд╛ рд╕реНрддрд░ рдореИрдВрдиреЗ рдПрдХ рджрд┐рди рдореЗрдВ рдХрд┐рдпрд╛ред
рдЦреЗрд▓ рдореЗрдВ рддреАрди рдФрд░ рдмреЛрдирд╕ рд╕реНрддрд░ рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реИред
Keylogger рдХреЛрдб from AppKit import NSWorkspace from Cocoa import * from Foundation import * from PyObjCTools import AppHelper import socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) class AppDelegate(NSObject): def applicationDidFinishLaunching_(self, aNotification): NSEvent.addGlobalMonitorForEventsMatchingMask_handler_(NSKeyDownMask, handler) def handler(event): if NSWorkspace.sharedWorkspace().activeApplication()['NSApplicationName'] == 'Corona Simulator': s = unicode(event).split(' ') if s[8]: s = s[8][-2:-1] if (s >= 'a' and s <= 'z') or s == '`' or s == '[' or s == ']': sock.sendto(s, ('127.0.0.1', 5000)) def main(): app = NSApplication.sharedApplication() delegate = AppDelegate.alloc().init() NSApp().setDelegate_(delegate) AppHelper.runEventLoop() if __name__ == '__main__': main()
рд▓реБрдЖ рдкрд░ рд╕рд░реНрд╡рд░ рдХреЛрдб local udp = socket.udp() udp:setsockname('127.0.0.1', 5000) udp:settimeout(0.001) local char, ip, port timer.performWithDelay(200, function () char, ip, port = udp:receivefrom() if char then local scene = storyboard.getScene(storyboard.getCurrentSceneName()) if type(scene.keyboardPressed) == 'function' then scene:keyboardPressed(char) end end end, 0)
рдЙрд╕реА рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреЛрд░ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рдЧреЗрдо рд╕реЗ рд╕реАрдзреЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдЯрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ display.save () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдм рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛, рд╕реНрддрд░реЛрдВ рдХреЛ рд╢реБрд░реВ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рдпрд╛, рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдХреА рдХреЛ рдЬреЛрдбрд╝рд╛, рд╕рднреА рд╕реНрддрд░реЛрдВ рдХреА рдЦрд░реАрдж рдкрд░ рдЫреВрдЯ рджреА рдФрд░ рдЗрд╕реЗ Google Play рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред
рдХреЛрд░реЛрдирд╛ рдПрд╕рдбреАрдХреЗ рдФрд░ рдЧреЛ рджреЛрдиреЛрдВ рдХреЗ рдЖрдИрдЖрд░рд╕реА рдкрд░ рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВред Freenode.net рдкрд░: # рдХреЛрд░реЛрдирд╛ рдФрд░ # рдЧреЛ-рдирдЯреНрд╕ред
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЪреИрдирд▓ (#go) рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рд╢реНрдиреЛрдВ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдмрд╣реБрдд рдирд╛рд░рд╛рдЬ рд╣реИрдВред
рд╕рдВрджрд░реНрдн
рд▓реЗрдЬрд░ рдкреНрд░рд╡рд╛рд╣
iOS
itunes.apple.com/us/app/laser-flow/id647540345?ls=1&mt=8Android
play.google.com/store/apps/details?id=com.spiralcodestudio.laserflowрд╕рдореНрдореЗрд▓рди рд╕реНрд▓рд╛рдЗрдбреНрд╕:
рдХреЛрд░реЛрдирд╛ рдПрд╕рдбреАрдХреЗ ,
рдЧреЛ рд▓реИрдВрдЧреНрд╡реЗрдЬрдХреЛрд░реЛрдирд╛ SDK
coronalabs.comрдЬрд╛рдУ рднрд╛рд╖рд╛
golang.orgрдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж! рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдореИрдВ рдЖрдкрд╕реЗ рдкреАрдПрдо рдореЗрдВ рдЯреАрдХрд╛ рдФрд░ рдЕрд╢реБрджреНрдзрд┐ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред