рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛

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

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрд░реЗрдЦ MVC рдореЙрдбрд▓ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореБрдЦреНрдп рдХрдХреНрд╖рд╛рдПрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
- рдЦреЗрд▓ред рдЦреЗрд▓ рдХрд╛ рдореБрдЦреНрдп рд╡рд░реНрдЧ, рдЕрдиреНрдп рд╡рд░реНрдЧреЛрдВ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ;
- GameModelред рдЦреЗрд▓ рдХреЗ рджреГрд╢реНрдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЦреЗрд▓ рдореЙрдбрд▓ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ;
- KeyboardControllerред рдХреАрдмреЛрд░реНрдб рд╕реЗ рдЧреЗрдо рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ;
- HTML5Viewред рдЦреЗрд▓ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрднреНрдпрд╛рд╡реЗрджрди рдореЗрдВ рд╕реЗ рдПрдХред рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ HTML5 рдХреИрдирд╡рд╛рд╕ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рджреГрд╢реНрдп рдЦреАрдВрдЪрддрд╛ рд╣реИред
- рд╕рдВрд╕рд╛рдзрдиред рд╕реНрдЯреЛрд░ рдЧреЗрдо рд╕рдВрд╕рд╛рдзрди рдЬреИрд╕реЗ рдХрд┐ рдЖрд╡рд╛рдЬрд╝, рд╕реНрдкреНрд░рд╛рдЗрдЯ рдЖрджрд┐ред
рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрдВрдХрд╛рд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
function GameModel() { this.setView = function(v) { view = v; }; this.getView = function() { return view; }; this.moveLeft = function() { ... }; this.moveRight = function() { ... }; this.next = function() {
рдЪрд░рдг 3. рдкрд╣рд▓рд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк
рдПрдХ рджрд┐рди рдмрд╛рдж, HTML5 рдХреЛрдб рдХреА 150 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдп рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдЪрд▓рддреА рд▓реЙрд╕рд╣рд░реНрдХ рдФрд░ рджреБрдирд┐рдпрд╛ рдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ рдЦреЗрд▓рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╣рд┐рдЯ рдХреЗ рд▓рд┐рдП рднреМрддрд┐рдХреА рдФрд░ рдЬрд╛рдВрдЪ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВред
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рдореБрдЦреНрдп "рдЪрд┐рдк" рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЬреЗрдирд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдердо рдерд╛ - рд╢реАрд░реНрд╖ рдПрдХ рдХреЗ рд╡рд┐рдирд╛рд╢ рдХреЗ рдмрд╛рдж рдирдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛрдб рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
var generatePlatforms = function() { do { var type = (Math.random() 0.6) ? PLATFORM_TYPE.SOLID : PLATFORM_TYPE.KILLER; var baseline = pCounter > 0 ? platforms[pCounter - 1].y : 0; platforms[pCounter++] = { x: Math.floor(Math.random() * (WIDTH - DEFAULT_PLATFORM_WIDTH)), y: Math.floor(baseline + (Math.random() * (DEFAULT_MAX_PLATFORM_INTERVAL - DEFAULT_MIN_PLATFORM_INTERVAL + 1)) + DEFAULT_MIN_PLATFORM_INTERVAL), w: DEFAULT_PLATFORM_WIDTH, h: DEFAULT_PLATFORM_HEIGHT, type: type }; } while (platforms[pCounter - 1].y < (HEIGHT + DEFAULT_PLATFORM_HEIGHT)); };
рдЪрд░рдг 4. рджреВрд╕рд░рд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк
рджреВрд╕рд░реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ, рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╣рд┐рдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЦрдВрдбреЛрдВ рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкрд┐рдЫрд▓реЗ рд▓реЙрд╕рд╣рд┐рд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдирдпрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдХрдерд┐рдд рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирдП, рд╡рд░реНрддрдорд╛рди рд▓реЙрд╕рд╣рд┐рд░реНрдХ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ P1 рдФрд░ P2 рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ рдФрд░, рдЬрдм рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд▓реЙрд╕рд╣рд░реНрдХ рдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдмрд╛рдж рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдХреЗрд╡рд▓ рдЙрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬреЛ рдЪреМрд░рд╛рд╣реЗ рдореЗрдВ рдЧрд┐рд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдРрд╕рд╛ рдХреЛрдб рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛:
var isRollCrossPlatform = function(platform, rollPrev, rollNext) {
рджреВрд╕рд░реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЬреЛрдбрд╝реЗ рдЧрдП: рд╣рд┐рд▓рдирд╛, рдорд╛рд░рдирд╛ рдФрд░ рдкрд┐рдШрд▓рдирд╛ рдФрд░ рд╕реНрдХреНрд░реАрди рдХреА рд╕рд╛рдЗрдб рд╕реАрдорд╛рдУрдВ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
рдЪрд░рдг 4. рддреАрд╕рд░рд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк
рдореБрдХреНрдд рдЧрд┐рд░рд╛рд╡рдЯ рдореЗрдВ рдпрд╛рддреНрд░рд╛ рдХреА рдЧрдИ рджреВрд░реА рдХреЗ рдЧреБрдгрдХреЛрдВ рдХреА рдЧрдгрдирд╛ рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рд╛рде рд╣реА рдПрдХ рдЬреАрд╡рди рдХрд╛рдЙрдВрдЯрд░ рдФрд░ рдЗрд╕ рдЬреАрд╡рди рдХреЛ рдЦреЛрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреАред

рдЪрд░рдг 5. рд░рд┐рд▓реАрдЬ!
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рд╣реЛрдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдерд╛, рдЬреЛ рдХрд┐ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рддрдХ рдХреЗрд╡рд▓ рдПрдХ рд╡рд░реНрдЧ рдХреЛ рдмрджрд▓рдирд╛ рдерд╛ - рдПрдЪрдЯреАрдПрдордПрд▓ 5 рд╡реНрдпреВ рдФрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЬреЛрдбрд╝реЗрдВ:
- рджреБрдирд┐рдпрд╛ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдкреВрд░реНрдг рд░рд╛рд╣рдд рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- рдЙрдЪреНрдЪ рдЕрдВрдХ рддрд╛рд▓рд┐рдХрд╛;
- рд╡реАрдХреЗ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрдЯрди рдХреА рддрд░рд╣;
- рджреЛ рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрд╕рд╣рд░реНрдХ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдПрдиреАрдореЗрд╢рди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ ("рд▓реЙрд╕рд╣рд░реНрдХ рдмрд╛рдИрдВ рдУрд░ рдЬрд╛рддрд╛ рд╣реИ", "рд▓реЙрд╕рд╣рд░реНрдХ рджрд╛рдИрдВ рдУрд░ рдЪрд▓рддрд╛ рд╣реИ");
- рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдПрдлрдкреАрдПрд╕ рдХрд╛рдЙрдВрдЯрд░;
рдХреИрдирд╡рд╛рд╕ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдбреНрд░рд╛рдЗрдВрдЧ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рдбреНрд░рд╛рдЗрдВрдЧ рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ (рдЫрд╡рд┐рдпреЛрдВ) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
context.fillRect(x, y, width, height) -> context.drawImage(roll, x, y, width, height)
рдпрд╣ рдЕрдВрддрд┐рдо 10 рдлреНрд░реЗрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдлрдкреАрдПрд╕ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рдореВрд▓реНрдп рдФрд░ рдХреБрд▓ рд╕рдордп рдХреЗ рдбреНрд░рд╛ рд╣реЛрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдЕрдВрддрддрдГ, рдХрд╛рдЙрдВрдЯрд░ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд░рд┐рд▓реАрдЬ рдиреЗ рдЦреЗрд▓ рдХреЗ рднреМрддрд┐рдХреА рдХреЗ рдЧреБрдгрд╛рдВрдХ - рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг, рдПрдХреНрд╕ рддреНрд╡рд░рдг рдкрд░ рдЕрдзрд┐рдХ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рд▓рдВрдмреЗ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдХрдард┐рдирд╛рдИ рдХреЗ рд╕реНрддрд░реЛрдВ (рд╕реНрддрд░реЛрдВ) рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред

рдЖрдВрдХрдбрд╝реЗ
рдПрдХ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ, рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓рдЦрд╛рд░реА рдХреЛ 1130 рдХреЛрдб рдХреА рд▓рд╛рдЗрдиреЗрдВ рдорд┐рд▓реАрдВ:
- рд╕рд░реНрд╡рд░ рдХреА рдУрд░ PHP рдореЗрдВ 163;
- рдореЗрдиреВ рдФрд░ рдмрдЯрди рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕ рдкрд░ 50;
- рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП HTML5 рдкрд░ 71;
- рдЦреЗрд▓ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдкрд░ 846ред
рд▓реЙрд╕рд╣рд░реНрдХ 2.0 рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдПрдВ
- рдкрд╣рдЪрд╛рдирдиреЗ рдпреЛрдЧреНрдп рд▓реЛрдЧреЛ;
- рдирдпрд╛ рдмреЛрдирд╕ (рдкреИрд░рд╛рд╢реВрдЯ, рдХреЛрд░, рдмреЙрдбреА рдЖрд░реНрдорд░, ...);
- рдмреЗрд╣рддрд░ рднреМрддрд┐рдХреА рдФрд░ рдкреНрд░рджрд░реНрд╢рди;
- рд░рд╛рдХреНрд╖рд╕реЛрдВ;
- рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рд▓рдХрдбрд╝реА / рдирд╛рдЬреБрдХ, ...);
- рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛;
- рд▓рдЧрддрд╛ рд╣реИ (HTML5 рдСрдбрд┐рдпреЛ);
- рд╕рд╛рдорд╛рдЬрд┐рдХ рдШрдЯрдХ (рдЯреНрд╡рд┐рдЯрд░ / рдПрдлрдмреА / Google+);
- Google рд╡реЗрдм-рд╕реНрдЯреЛрд░ (Chrome рдРрдк) рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ;
- рдХреЗ рд▓рд┐рдП рдмрдирд╛рддрд╛ рд╣реИ: Andriod рдРрдк / WAC рдРрдк / IPhone рдРрдк (WebGL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди);
рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп
рд╣рдо рдПрдХ рдЫреЛрдЯреА рд╕реА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рджреБрдирд┐рдпрд╛ рдХреЛ рдЬреАрддрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдо рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреЗ рдбрд┐рдЬрд╛рдЗрдирд░ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк OpenSource рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдФрд░ рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдХреЛ рдЙрдиреНрдирдд рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИ, рддреЛ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ рдХрд┐ рдЖрдк рдЯрд┐рдкреНрдкрдгреА рдЫреЛрдбрд╝реЗрдВ рдпрд╛ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред
рдкреБрдирд╢реНрдЪ рдПрдХ рдмрд╛рд░ рдлрд┐рд░,
рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ
!Googlecode рдкрд░ рдкреАрдкреАрдПрд╕
рд▓рдЦрд╛рд░реАрдХ ред
рдЕрджреНрдпрддрди: рдПрдХ
рдкреИрдЪ рдХреЗ рд▓рд┐рдП qmax рд╣рдм
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬреЛ рдХрд┐ Losharik рдХреЛ рд░реЛрдЯреЗрд╢рди рдЬреЛрдбрд╝рддрд╛ рд╣реИ!