рдмрд╛рд░реНрдЯ рдЪреЙрдХрдмреЛрд░реНрдб рдЬрдирд░реЗрдЯрд░

рдирдорд╕реНрддреЗ
рдореИрдВ рдЕрдкрдиреЗ рдмрд╛рд░реНрдЯ рдЪреЙрдХрдмреЛрд░реНрдб рдЬрдирд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЫрд╡рд┐
рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╢реНрд░реГрдВрдЦрд▓рд╛ "рдж рд╕рд┐рдореНрдкрд╕рдВрд╕" рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ рд╣рд░ рдирдИ рд╕реНрдХреНрд░реАрди рд╕реЗрд╡рд░ рдмрд╛рд░реНрдЯ рдиреЗ рд╕реНрдХреВрд▓ рдмреЛрд░реНрдб рдкрд░ рдХреБрдЫ рдирдпрд╛ рд▓рд┐рдЦрд╛ рд╣реИ, рдЬреИрд╕реЗ: "рд╡реЗ рдореБрдЭ рдкрд░ рд╣рдВрд╕ рд░рд╣реЗ рд╣реИрдВ, рдореЗрд░реЗ рд╕рд╛рде рдирд╣реАрдВред" рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░, рдПрдХ рддрд╕реНрд╡реАрд░ рдЕрдХреНрд╕рд░ рдкрд╛рда рд╕реЗ рдкреЙрдк рдЕрдк рд╣реЛрддреА рд╣реИ: "рдореИрдВ рдбрдВрдк рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Google рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред" рддреЛ рдПрдХ рджрд┐рди рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдХреНрдпреЛрдВ рди рдРрд╕реА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЬрдирд░реЗрдЯрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдФрд░ Html5 рдкрд░ рднреА рдЕрднреНрдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдП?


рдЯреНрд░реЗрдирд┐рдВрдЧ


рдПрдХ рдХреИрдирд╡рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ рдЬреЛ рджрд┐рдП рдЧрдП рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ред
рдореИрдВрдиреЗ рдлрд╝реЛрдЯреЛрд╢реЙрдк рдореЗрдВ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдмрдирд╛рдХрд░ рд╢реБрд░реБрдЖрдд рдХреАред рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдПрдХ рддрд╕реНрд╡реАрд░ рд▓реА, рдЗрд╕реЗ рдПрдХ рдмреЛрд░реНрдб рдФрд░ рдПрдХ рдмрд╛рд░реНрдЯ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ред

рдкреНрд░рддрд┐рдкрд╛рджрди рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:


рдЧреАрддрд╛рддреНрдордХ рд╡рд┐рд╖рдпрд╛рдВрддрд░


рдЬрдм рддрдХ рдореИрдВрдиреЗ рдЗрд╕ рдорд┐рдиреА-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддрдм рддрдХ рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП js рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдерд╛ (рдореИрдВрдиреЗ 2niversity.com рд╕реЗ "Html5 games hackton" рдХрд╛ рджреМрд░рд╛ рдХрд┐рдпрд╛ )ред рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬреЗрдПрд╕ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдерд╛ред

Html5 & js



рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЛрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ, рд╕реНрд░реЛрдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ Html рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ:
<canvas id='bart' width='500' height='310'></canvas> 

Js рдореЗрдВ, рдореИрдВрдиреЗ рдХреБрдЫ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рд╢реБрд░реБрдЖрдд рдХреА
 var canvas = document.getElementById('bart'); // canvas var ctx = canvas.getContext('2d'); //  canvas var sprite = new Image(); sprite.src = 'images/sprite.png'; //  

рдЕрдЧрд▓рд╛, рдореИрдВрдиреЗ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдбреНрд░реЙ (рдкрд╛рда) рдмрдирд╛рдпрд╛;
рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ (рдкрд╛рда, n, рдорд╛рд░реНрдЬрд┐рдирд╕реНрдЯреЗрдк) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ (ctx)
 function draw(text){ marginTop = 36; //   line = ''; //  line function write(text, n, marginStep){ //    text    n      marginStep for (var i = 0; i < n; i++) { ctx.fillText(text, 250, marginTop); marginTop += marginStep; }; }; line = ''; ctx.fillStyle = '#fff'; ctx.textAlign = 'center'; ctx.font = '18px Flow'; 

рдлрд┐рд░ рдкрд╛рда рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЧрдгрдирд╛ рджрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИ
 textWidth = ctx.measureText(text).width; 

рдлрд┐рд░ рдПрдХ рдмреЛрд░реНрдб рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
 ctx.drawImage(sprite, 0, 0, 500, 250, 0, 0, 500, 250); 

рдЙрд╕рдХреЗ рдмрд╛рдж, рдХрдИ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВред рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдкрд╛рда рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рджрд╕ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЦреАрдВрдЪрддреА рд╣реИ, рдпрд╛, рдпрджрд┐ рдкрд╛рда рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ 5 рдмрд╛рд░ рдЦреАрдВрдЪрддрд╛ рд╣реИред
 if (textWidth > 0 && textWidth <= 220){ //  0-220  (tc   ) textCount = Math.floor(450/(textWidth + 5)); //       (     (+)) for (var tc = 0; tc < textCount; tc++){ //   line += text + ' '; }; line = line.slice(0, -1); //     write(line, 10, 20); // }else if(textWidth > 220 && textWidth <= 225){ //  221-225  (2   ) ctx.font = '15px Flow'; //  line = text + ' ' + text; //  write(line, 10, 20); // }else if(textWidth > 225 && textWidth <= 360 ){ //  226-360  (1   ) ctx.font = '20px Flow'; //  if (textWidth > 445){ //       ,  ,      ctx.font = '18px Flow'; textWidth = ctx.measureText(text).width; }; write(text, 10, 20); // }else if(textWidth > 360 && textWidth <= 450 ){ //  361-450 ,   (1     ) write(text, 10, 20); //   }else if(textWidth > 450 && textWidth <= 500){ // 451-500  (1   ) ctx.font = '15px Flow'; //  write(text, 10, 20); } 

рдЗрд╕рдХреЗ рдмрд╛рдж рджреЛ рд▓рд╛рдЗрди рд╡рд╛рд▓реЗ рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЖрддрд╛ рд╣реИ, рдЬреЛ рдореИрдВрдиреЗ рдирдХреНрд╕рд▓ рд╕реЗ рд▓рд┐рдпрд╛ рдерд╛, рдЙрд╕рдХреЗ рд▓рд┐рдП, рдЙрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЗрд╕рдХрд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╛рда рдХреЛ рдкрд╣рд▓реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд░рдгреА рдореЗрдВ рддреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдПрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рд╢рдмреНрдж рдХреЛ рд╡рд╛рдкрд╕ рдЪрд┐рдкрдХрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ gluing рдХреЗ рдмрд╛рдж рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИред
рдпрджрд┐ рдЪреМрдбрд╝рд╛рдИ 450 (рдмреЛрд░реНрдб рдХреА рдЪреМрдбрд╝рд╛рдИ) рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдЕрдВрддрд┐рдо рд╢рдмреНрдж рдХреЗ рдмрд┐рдирд╛ 5 рдмрд╛рд░ рдЗрдВрдбреЗрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 40 рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЛ рдХреЗрд╡рд▓ рд╕рд░реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реБрдЖ рдФрд░ рдЙрд╕реА рддрд░рд╣ 5 рдмрд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
 else if(textWidth > 500 && textWidth <= 700){ // 501-700  2! var words = text.split(' '); //         words var countWords = words.length; //   if(countWords > 4){ for (var n = 0; n < countWords; n++) { //    countWords        1 ,   line   var testLine = line + words[n] + ' '; //   var testWidth = ctx.measureText(testLine).width;//     if (testWidth > 450) { //        write(line, 5, 40); // 5    40 ( )   36 line = words[n] + ' '; // line     }else { line = testLine; }; }; marginTop = 56; //   2  write(line, 5, 40); //    5    40( )      } 

рдЖрдЦрд┐рд░ рдореЗрдВ рдмрд╛рд░реНрдЯ рдХреЛ рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред
  ctx.drawImage(sprite, 498, 128, 80, 180, 406, 118, 80, 180); //      

рдпрд╣реА рд╕рдм рд╣реИ, рдпрд╣ рдЯреЗрдХреНрд╕реНрдЯ рдлреЙрд░реНрдо рдФрд░ рдмрдЯрди рдХреЛ рдЬрдХрдбрд╝рдирд╛ рд╣реИред
рдПрдЪрдЯреАрдПрдордПрд▓
 <form name='form_1' onsubmit='return false;' id='form_1'> <input name='inputText' id='inputText' type='text' maxlength='150' autocomplete='off' autofocus placeholder='  -, !'> <input id='writeIt' type='button' value='!'> <input id='downloadIt' type='button' class='center' value='!' > </form> 

рдЬреЗ рдПрд╕
 document.getElementById('writeIt').onclick=function(e){draw(document.forms.form_1.elements.inputText.value)}; document.getElementById('form_1').onsubmit=function(e){ // Enter draw(document.forms.form_1.elements.inputText.value); return false //   }; 

рдПрдХ рддрд╕реНрд╡реАрд░ рд╕рд╣реЗрдЬ рд░рд╣рд╛ рд╣реИ
рдЪрд┐рддреНрд░ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ toDataURL ('рдЫрд╡рд┐ / png') рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдмрд╕ url рдХреИрдирд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓реЗрдВ редtoDataURL ('рдЫрд╡рд┐ / рдкреАрдПрдирдЬреА')
 document.getElementById('downloadIt').onclick=function(e){ ctx.drawImage(sprite, 9, 250, 142, 25, 17, 222, 142, 25); //  window.open(canvas.toDataURL("image/png"), " Bart's Chalkoard", "resizable=no,toolbar=no,menubar=no,location=no,scrollbars=no,status=no,width=530,height=340, left=400, top=120,"); //   . ctx.drawImage(sprite, 16, 226, 134, 18, 16, 226, 134, 18); //    }; 

рдирд┐рд╖реНрдХрд░реНрд╖


рдореБрдЭреЗ рдЗрд╕ рд╕рдм рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рджреЛ рд░рд╛рддреЗрдВ рдФрд░ рджреЛ рджрд┐рди рд▓рдЧреЗ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА js рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЦреБрдж рд╕реЗ рд▓рдЧрднрдЧ рд╕рдВрддреБрд╖реНрдЯ рд╣реВрдВред

рдХреНрд╖рдорд╛ рдпрд╛рдЪрдирд╛ рдФрд░ рдмрд╣рд╛рдирд╛ред


рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдЦрд╛рдорд┐рдпрд╛рдВ рдпрд╛ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВред рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕реБрдВрджрд░ рдФрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрджрд┐ рдкреЛрд╕реНрдЯ рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд рд╣реИ, рддреЛ рдлрд┐рд░ рд╕реЗ рдпрд╣ рдореЗрд░реА рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рд╣реИ, рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреАред

рдбреЗрдореЛ


рдЖрдк рдпрд╣рд╛рдБ bart-gen.ru рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрд░реЛрдд рд╡рд╣рд╛рдБ рд╣реИред
рдпрд╣ рдмрд╣реБрдд рдЬрд▓реНрджреА рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рд╣реЛрдо рд╕рд░реНрд╡рд░ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рд░рд╛рдЙрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдирд▓рд╛рдЗрди рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ



рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдкрдврд╝рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереАред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In149606/


All Articles