рд▓реЗрдЦ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХ рд╕рдВрдЧреАрдд рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧреАред рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо as3 рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм рдореИрдВ рдЬрд┐рд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдпрд╣ рд╕рдм
Phthalo рдХреЗ рдХреЛрд░реЛрдирд╛ рджреГрд╢реНрдп рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ рдЬреЛ
AIMP рдЦрд┐рд▓рд╛рдбрд╝реА рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░ рдХреБрдЫ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ред
рдкрд╣рд▓рд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рдирддреАрдЬрддрди, рдореБрдЭреЗ рдХреЗрд╡рд▓ рдЗрд╕ рджреГрд╢реНрдп рдореЗрдВ рдХрдгреЛрдВ рдХреЗ рдЖрдВрджреЛрд▓рди рдХрд╛ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдорд┐рд▓рд╛ред рдЗрд╕ рдкрд░ рдореИрдВ рд░реБрдХ рдЧрдпрд╛ рдФрд░ рдЖрдзреЗ рд╕рд╛рд▓ рдмрд╛рдж рдореИрдВ рдлрд┐рд░ рд╕реЗ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред 2 рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж, рдРрд╕реА рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рддреИрдпрд╛рд░ рдереАред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ рд╕рдВрджрд░реНрднрдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ - рдмреНрд▓рд░ рдореЛрдб рдмрджрд▓реЗрдВред
рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрд┐рд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдЧреАрдд рдкреНрд▓реЗрдпрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, VKontakte рдкрд░) рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреИрдм рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рд╕рд╛рдЙрдВрдбрдорд┐рдХреНрд╕рд░ред PuteSpectectrum рдлрд╝реНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рд▓ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рджреБрд░реНрдШрдЯрдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрд╣ рддрдереНрдп рдХрд┐ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдиреНрд╣реЗрдВ рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рдЧрд┐рд░рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдиреНрдп рдЯреИрдм рд╕реЗ рдореЗрд░реЗ рдХреНрд░реЛрдо рдзреНрд╡рдирд┐ рдореЗрдВ рдкрдХрдбрд╝рд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред
рдЕрдм рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред
рднреМрддрд┐рдХ рд╡рд┐рдЬреНрдЮрд╛рди
рдХрдг рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, 650)ред 600 рд╕рдХреНрд░рд┐рдп рдХрдг рдФрд░ 50 рдХрдг рдЬреЛ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрд┐рдВрджреБ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдиреАрдЪреЗ рдЧрд┐рд░рддреЗ рд╣реИрдВ, рдЬрдм рдРрд╕рд╛ рдХрдг рдлрд░реНрд╢ рдХреЛ рдЫреВрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЧрд╛ред рдмреЗрд╢рдХ, рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рд╕рднреА рдХрдгреЛрдВ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдгреЛрдВ рдХреЛ рдПрдХ рдЖрдХрд░реНрд╖рдг рдФрд░ рдкреНрд░рддрд┐рдХрд╛рд░рдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рдХреА рдЪреАрдЬреЗрдВ рдЗрддрдиреА рдЬрд╛рджреБрдИ рд╣реЛрддреА рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЬрд╛рджреБрдИ рдирд╣реАрдВ рд╣реИрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдмрд╕ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рдорд╛рди рдЕрдкрдорд╛рдирдЬрдирдХ рдирд╛рдо рд╣реИрдВ "рдЦреБрдж рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП" рдкреНрд░реЛрдлреЗрд╕рд░ред
рдПрдХ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдРрд╕рд╛ рдХрд╛рдо рд╣реИ рдЬреЛ рд╣рд░ рдЙрд╕ рдЪреАрдЬ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЦреБрдж рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдг, рдФрд░ рджреВрд░ рдХрдг рдХрдг рд╕реЗ рд╣реИ, рдХрдордЬреЛрд░ рдЗрд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдПрдХ рдкреНрд░рддрд┐рдХрд╛рд░рдХ рдПрдХ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдпрд╣ рдЦреБрдж рд╕реЗ рд╕рдм рдХреБрдЫ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред
рддреЛ, рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд (рдзреНрд╡рдирд┐ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░), рдПрдХ рдЕрдгреБ рдФрд░ рдХрдгреЛрдВ рдкрд░ рдПрдХ рдкреНрд░рддрд┐рдХрд╛рд░рдХ рдХрд╛рд░реНрдп рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рд╡реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЗрддрдиреЗ рдХреВрдж рд░рд╣реЗ рд╣реИрдВред
рдбреНрд░рд╛рдЗрдВрдЧ
рдмрд┐рдЯрдореИрдкрдбреЗрдЯрд╛ рдХрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ (рдпрд╣ рддрд╛рд░реНрдХрд┐рдХ рд╣реИ)ред рдпрд╣ рдПрдХ рдЫреЛрдЯрд╛ рд╕рдлреЗрдж рд╕рд░реНрдХрд▓ рд╣реИ, рдХреНрдпреЛрдВ рд╕рдлреЗрдж рдиреАрдЪреЗ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдЧрд╛ред
var radius: Number = PARTICLE_SIZE * 0.5; var particleShape: Shape = new Shape(); particleShape.graphics.beginFill(0xFFFFFF); particleShape.graphics.drawCircle(PARTICLE_SIZE * 0.5, PARTICLE_SIZE * 0.5, radius); m_ParticleBmp = new BitmapData(PARTICLE_SIZE, PARTICLE_SIZE, true, 0x0); m_ParticleBmp.draw(particleShape);
рдХрдг рдЗрд╕ рддрд░рд╣ рдЦреАрдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ:
var velDir: Number = Math.atan2(part.vel.y, part.vel.x); var speed: Number = Math.max(Math.abs(part.vel.y), Math.abs(part.vel.x)); if (speed > 20) speed = 20; matr.identity(); matr.scale(1.3 + speed / 20.0 * 4.0, 0.5); matr.rotate(velDir); matr.translate(part.pos.x, part.pos.y); m_BackBuffer.draw(m_ParticleBmp, matr);
рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрдгреЛрдВ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЪрд▓рддреЗ рд╕рдордп рд╡реЗ рдЦрд┐рдВрдЪрд╛рд╡ рдХрд░реЗрдВред рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рдкреНрд░рднрд╛рд╡
рдкреИрд▓реЗрдЯ
рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдкреИрд▓реЗрдЯреНрд╕ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╕рдордп рд░рдВрдЧ рдХрд╛ рдирдореВрдирд╛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдбреЗрдореЛрдХреНрд░реИрдЯрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдорд╛рдирдХ рдирд┐рд░реНрдзрд╛рд░рдг :)
рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреИрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ 256 рдорд╛рдиреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде 3 рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпреЗ рд▓рд╛рд▓, рд╣рд░реЗ рдФрд░ рдиреАрд▓реЗ рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрд░реЗрдЬрд╝ рд╣реЛрдВрдЧреЗред
рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
рдмрд┐рдЯрдореИрдкрдбреЗрдЯрд╛ рдХреНрд▓рд╛рд╕ рдХреЗ
рдкреИрд▓реЗрдЯрдореИрдк рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдЗрди рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рдореВрд▓ рдЫрд╡рд┐ рдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рдкрд┐рдХреНрд╕реЗрд▓ рд░рдВрдЧ рдореВрд▓ рдЫрд╡рд┐ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреВрд░реНрдгрд╛рдВрдХ;
- рдпрд╣ рд░рдВрдЧ рдЖрд░рдЬреАрдмреА (рдмрд╛рдЗрдЯ) рдШрдЯрдХреЛрдВ рдореЗрдВ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ;
- рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рдВрдмрдВрдзрд┐рдд рд╕рд░рдгреА рд╕реЗ рдорд╛рди рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпреЗ рдирдП рдЖрд░рдЬреАрдмреА рдореВрд▓реНрдп рд╣реЛрдВрдЧреЗ;
- рдирдП рдЖрд░рдЬреАрдмреА рдорд╛рдиреЛрдВ рдХреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдореЗрдВ рд╡рд╛рдкрд╕ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдм рдореИрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХрдгреЛрдВ рдХреЛ рд╕рдлреЗрдж рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдХрд╛рд▓рд╛ рдХреНрдпреЛрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рд╕рднреА рдкрд┐рдХреНрд╕реЗрд▓ рдзреБрдВрдзрд▓реЗ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрджрд┐ рдЖрдк рдХреБрдЫ рднреА рдирд╣реАрдВ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдХрд╛рд▓реЗ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдкреИрд▓реЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдХрд╛рд▓реЗ рдХреЛ рдХрд┐рд╕реА рднреА рд░рдВрдЧ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдзреБрдВрдзрд▓рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд░рдВрдЧ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЙрд╕ рд░рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ (рдЬрд┐рд╕ рдмрдлрд░ рдореЗрдВ рдХрдг рдЦреАрдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд╡рд╣ рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд▓рд╛ рд░рд╣реЗрдЧрд╛)ред
рдкреИрд▓реЗрдЯ рдЗрд╕рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдКрдкрд░реА рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ (255 - рд╕рдлреЗрдж) рдЖрд░рдЬреАрдмреА рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ, рдХрдгреЛрдВ рдХрд╛ рд░рдВрдЧ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдирд┐рдЪрд▓реЗ (0 - рдХрд╛рд▓реЗ) рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд░рдВрдЧ рдореЗрдВред рдЕрдиреНрдп рд╕рднреА рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдореЗрдВ [1..254], рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рд╕реЗ рдХрдг рд░рдВрдЧ рддрдХ рдврд╛рд▓ рд░рдВрдЧ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдмреЗрд╢рдХ, рдХреЛрдИ рднреА рдкреИрд▓реЗрдЯ рдореЗрдВ 2 рд╕реЗ рдЕрдзрд┐рдХ рд░рдВрдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдврд╛рд▓ рдмрдирд╛рддрд╛ рд╣реИред
рд╡рд┐рд░реВрдкрдг рдирдХреНрд╢рд╛
рдореВрд▓ рджреГрд╢реНрдп рдореЗрдВ, рдХрдг рдирд┐рд╢рд╛рди рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдореЛрдбрд╝ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╣рд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЗрд╕ рдирддреАрдЬреЗ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдпрд╣ рдПрдХ
рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐рдкреВрд░реНрдг рд╕рд░реНрдкрд┐рд▓ рд╣реИ ред
рд╣рд╛рдЗрдкрд░рдмреЛрд▓рд┐рдХ рд╕рд░реНрдкрд┐рд▓ рдХрд╛ рд╕рдореАрдХрд░рдг (рдзреНрд░реБрд╡реАрдп рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ):r * phi = a, рдЬрд╣рд╛рдВ рдПрдХ рд╕рд░реНрдкрд┐рд▓ рд╡рд┐рдЪрд▓рди рджрд░ рд╣реИ
рдХрд╛рд░реНрддреАрдп рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ:x = a * cos (phi) / phi,
y = a * sin (phi) / phi, рдЬрд╣рд╛рдБ a / phi = r
рд╕рд╡рд╛рд▓ рдЙрдардиреЗ рд▓рдЧрд╛ рдХрд┐ рдЕрдм рдЗрд╕ O_O рдХреЛ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд░реВрдкрдг рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдлреНрд▓реИрд╢ рдкрд░ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред
рдмреЗрд╢рдХ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдкреБрд░рд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЫрд╡рд┐ рдХреЗ рд╕рднреА рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛ рдФрд░ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рддреБрд░рдВрдд рд╡рд╣рд╛рдБ рдзрдмреНрдмрд╛ рд▓рдЧрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд┐рдХрд▓рд╛ред рдЫрд╡рд┐ рдореЗрдВ рдЪрдХреНрд░ рдиреЗ рдПрдлрдкреАрдПрд╕ рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ред рдореБрдЭреЗ рджреВрд╕рд░реЗ рдЙрдкрд╛рдп рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреА рдереАред
рд╡рд┐рдЪрд╛рд░ рдПрдХ рдкреНрд░рднрд╛рд╡реА рдкреНрд░рднрд╛рд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛ рдерд╛, рдореИрдВрдиреЗ рддреБрд░рдВрдд рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЛрдб рдкрд╛рдпрд╛ред рд▓реЗрдХрд┐рди рдореВрд▓ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛ред
рд╣рд╛рдЗрдкрд░рдмреЛрд▓рд┐рдХ рд╕рд░реНрдкрд┐рд▓ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рдкрдбрд╝рд╛ред рдкреВрд░реА рдХрдард┐рдирд╛рдИ рдпрд╣ рдереА рдХрд┐ рдзреНрд░реБрд╡реАрдп рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдХреЛрдг рдФрд░ рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрдкрд┐рд▓ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдПрдХ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ - рдореЛрдЯрд╛рдИ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХреБрдЫ рд╕реВрддреНрд░реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╡рд┐рд╕реНрдерд╛рдкрди рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рд┐рдЦрд╛ред
рд╡рд┐рд╕реНрдерд╛рдкрди рдирдХреНрд╢рд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЫрд╡рд┐ рдХреЗ рд╕рднреА рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдПрдХ рд╕рд░реНрдкрд┐рд▓ (рдореЛрдЯрд╛рдИ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП) рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдкрд┐рдХреНрд╕реЗрд▓ рдПрдХ рд╕рд░реНрдкрд┐рд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рддреЛ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдСрдлрд╕реЗрдЯ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╡рд┐рд╕реНрдерд╛рдкрди рдХреА рджрд┐рд╢рд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рджрд┐рдП рдЧрдП рдмрд┐рдВрджреБ рдкрд░ рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдЧрдгрдирд╛рдУрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдкрд░ рд╕рд░реНрдХрд▓ рдХреЗ рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЧрдгрдирд╛ рддреНрд░реБрдЯрд┐ рдХреЗрд╡рд▓ рд╕рд░реНрдкрд┐рд▓ рдХреА рдкреВрдВрдЫ рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧреАред рдХреНрдпреЛрдВрдХрд┐ рдЬреИрд╕рд╛ рдХрд┐ рддреНрд░рд┐рдЬреНрдпрд╛ (рдпрд╛ рдХреЛрдг) y рдмрдврд╝рддрд╛ рд╣реИ, рд╕рдордиреНрд╡рдп рдПрдХ, рдпрд╛рдиреА рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдПред
f '(x, y) = рдЖрд░реНрдХрдЯрди (y / x) - рдкрд╛рдИ / 2
рдЕрдм рд╣рдо рдХреЗрд╡рд▓ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХреЛрдг рд╕реЗ рдкрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдСрдлрд╕реЗрдЯ рдЧреБрдгрд╛рдВрдХ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдПрдХ рдРрд╕рд╛ рд╡рд┐рд╕реНрдерд╛рдкрди рдорд╛рдирдЪрд┐рддреНрд░ рд╣реИ (рд╣рд░реЗ рдФрд░ рдиреАрд▓реЗ рдЪреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

рджреВрд╕рд░реЗ рдореЛрдб рдореЗрдВ, рдПрдХ рдФрд░ рд╡рд┐рд╕реНрдерд╛рдкрди рдорд╛рдирдЪрд┐рддреНрд░ рд╕реБрдкрд░рд┐рдореНрдкреЛрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдкреЗрд░рд▓рд┐рди рд╢реЛрд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
m_NoiseBuffer.perlinNoise(SCREEN_WIDTH, SCREEN_HEIGHT - FLOOR_POS, 2, 1, false, true, BitmapDataChannel.RED | BitmapDataChannel.BLUE, false, [m_OctaveOffset, m_OctaveOffset]);
рдпрд╣рд╛рдБ рдПрдХ рдЕрдЪреНрдЫреА рдЫрд╡рд┐ рд╣реИ рдЬреЛ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИ:

рдкреАрдврд╝реА рдХреЗ рджреМрд░рд╛рди рдЕрдзрд┐рдХ рд╕рдкреНрддрдХ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рд░ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рд╢реЛрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдкреНрддрдХ рдкрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдВрджреЛрд▓рди рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд┐рдП)ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЪрд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- рдмреИрдХрд╕реНтАНрдлрд╝реНрдЯ рдХреЗ рд╕рд╛рде рдСрдлрд╝рд╕реНтАНрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╕реНтАНрдерд╛рдкрди рдорд╛рдирдЪрд┐рддреНрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдХрд▓рдВрдХ рдлрд╝рд┐рд▓реНрдЯрд░ (x: 8, y: 8, рдЧреБрдгрд╡рддреНрддрд╛: 1) рдмреИрдХрдмрдлрд╝рд░ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред
- ColorTransform рдмреИрдХрдмрдлрд╝рд░ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЫрд╡рд┐ рдХреА рдлреАрдХрд╛ рджрд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
- рдмреИрдХрдлрд╝рд╛рдпрд░ рдореЗрдВ рдХрдгреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВред
- рд╣рдо рдкреИрд▓реЗрдЯ рдореИрдк рдХреЛ screeBuffer рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕реНрд░реЛрдд рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрдХрдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
- рдЦреИрд░, рдЖрдЦрд┐рд░реА рдордВрдЬрд┐рд▓ рдХреЗ рдПрдХ рдЙрд▓реНрдЯреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рд╕реНрд░реЛрддрдпрд╣ рд╕рдм, рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!