5-2-1.ŸÀÌ¸Ó ¾Ö´Ï¸ÞÀ̼Ç

¾Ö´Ï¸ÞÀ̼ÇÀº ½±°Ô ¸»Çؼ­ ¿òÁ÷ÀÌ´Â ±×¸²ÀÌ´Ù. À¥ ÆäÀÌÁö°¡ °¡¸¸È÷ ÀÖÁö ¾Ê°í °è¼Ó ²ÞƲ°Å·Á »ç¿ëÀÚÀÇ ÁÖÀǸ¦ ²ô´Â ±â¹ýÀÌ´Ù. ÀÏ¹Ý À¥ ÆäÀÌÁö¿¡¼­µµ ¸ÚÁö°Ô ÆîÃÄÁö´Â ¸Þ´º, È­¸é Áß¾Ó¿¡ ¿­¸®´Â Æ˾÷â, ³×ºñ°ÔÀ̼Ç, ÀÚ·á ¸ñ·Ï µîÀ» À§ÇØ ¾Ö´Ï¸ÞÀ̼ÇÀÌ È°¿ëµÈ´Ù. ÀÏ´Ü ¿¹»Ú°í ¿òÁ÷ÀÓÀÌ ÀÖ¾î ¾îµðÂë¿¡¼­ ¹«½¼ ÀÏÀÌ ¹ú¾îÁö´ÂÁö Á÷°üÀûÀ¸·Î º¸¿©¼­ ÁÁ´Ù.

Áö±Ý±îÁö ÀÌ·¯ÇÑ ¾Ö´Ï¸ÞÀÌ¼Ç È¿°ú´Â Ç÷¡½Ã·Î ±¸ÇöÇß¾ú´Ù. ±×·¯³ª HTML5°¡ µµÀԵǸ鼭 CSS³ª jQuery·Îµµ °£´ÜÇÑ ¾Ö´Ï¸ÞÀ̼ÇÀ» ó¸®ÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. ¸Þ´º, ¾ÆÄÚµð¾ð, Æ˾÷⠵ ´ëÇÑ ¾Ö´Ï¸ÞÀ̼ÇÀº jQuery·Îµµ ÃæºÐÇÏ´Ù.

¿òÁ÷ÀÓÀÌ °¡Àå ¸¹Àº ¿¹´Â °ÔÀÓÀÌ´Ù. °ÔÀÓÀº º»ÁúÀûÀ¸·Î µ¿ÀûÀ̹ǷΠÇѽõµ °¡¸¸È÷ ÀÖÁö ¾Ê°í È­¸éÀÌ °è¼Ó ¹Ù²ï´Ù. °ÔÀÓ°°Àº º¹ÀâÇÑ ¾Ö´Ï¸ÞÀ̼ÇÀº ĵ¹ö½º°¡ ´ã´çÇÑ´Ù. ĵ¹ö½º´Â ÀÓÀÇÀÇ ±×¸²À» ±×¸± ¼ö ÀÖÀ¸¹Ç·Î Ç¥Çö ´É·ÂÀÌ ¹«ÇÑÇØ Ç÷¡½ÃÀÇ ¿µ¿ªÀ» °ÅÀÇ ´Ù ¼ÒÈ­Çس½´Ù.

¾Ö´Ï¸ÞÀ̼ÇÀº »ç½Ç ±²ÀåÈ÷ ´Ü¼øÇÏ°í °£´ÜÇÑ ±â¹ýÀÌ´Ù. ½Ã°£ÀÇ È帧¿¡ µû¶ó ÁÖ±âÀûÀ¸·Î ±×¸²À» ¹Ù²Ù¾î ´Ù½Ã ±×¸®±â¸¦ ¹Ýº¹ÇÏ¸é µÈ´Ù. ½Ã°£ÀÌ °³ÀԵǹǷΠ¿ø·ÐÀûÀ¸·Î ŸÀ̸ӷΠ±¸ÇöÇÏ´Â °ÍÀÌ Á¦ÀÏ ½±´Ù. ¾Ö´Ï¸ÞÀ̼ÇÀÌ ¹«ÇÑÈ÷ ¹Ýº¹µÇ´õ¶óµµ ´ÙÀ½°ú °°Àº ¹«ÇÑ ·çÇÁ¸¦ »ç¿ëÇؼ­´Â ¾ÈµÈ´Ù.

 

for (;;) {

     // ¾Ö´Ï¸ÞÀÌ¼Ç Ã³¸®

}

 

ÀÌ·¸°Ô Çϸé ÀÌ ·çÇÁ¸¦ ºüÁ® ³ª¿Ã ¼ö ¾øÀ¸¹Ç·Î È­¸éÀ» ´Ù½Ã ±×¸®Áöµµ ¸øÇÏ°í »ç¿ëÀÚÀÇ Á¶ÀÛ¿¡µµ ¹ÝÀÀÇÏÁö ¸øÇϹǷΠ´Ù¿îµÈ °Í°ú °°´Ù. ¹«ÇÑÈ÷ ¹Ýº¹ÇÏ´õ¶óµµ Æ´Æ´ÀÌ ¸Å ÇÁ·¹ÀÓÀ» ±×·Á¾ß ÇÑ´Ù. ±×·¡¼­ ŸÀ̸Ӱ¡ Á¦°ÝÀÌ´Ù. ´ÙÀ½ ¿¹Á¦´Â ±Ø´ÜÀûÀ¸·Î °£´ÜÇÑ ¾Ö´Ï¸ÞÀ̼ÇÀ» º¸¿©ÁØ´Ù.

 

anim.html

<script>

     var canvas;

     var ctx;

     var x = 10;

     var delta = 1;

    

     window.onload = function() {

         canvas = document.getElementById("canvas");

         if (canvas == null || canvas.getContext == null) return;

         ctx = canvas.getContext("2d");

         setInterval(draw, 30);

     }

    

     function draw() {

         ctx.clearRect(0, 0, canvas.width, canvas.height);

         ctx.fillRect(x, 10, 20, 20);

 

         if (x + 20 > canvas.width || x < 0) {

              delta = -delta;

         }

         x += delta;

     }

</script>

 

¾Ö´Ï¸ÞÀÌ¼Ç ´ë»ó º¯¼ö´Â °ªÀ» °è¼Ó À¯ÁöÇØ¾ß ÇϹǷΠÀü¿ªÀ¸·Î ¼±¾ðÇØ¾ß ÇÑ´Ù. onload¿¡¼­ ÃÊ´ç 33¹øÀÇ ¼Óµµ·Î draw ÇÔ¼ö¸¦ ÁÖ±âÀûÀ¸·Î È£ÃâÇÑ´Ù. Àü¿ª º¯¼ö x´Â 10, delta´Â 1·Î ÃʱâÈ­ÇÏ°í draw ÇÔ¼ö´Â ¸Å ÇÁ·¹ÀÓ¸¶´Ù ÀÌ °ªÀ» ±ÔÄ¢ÀûÀ¸·Î º¯°æÇÏ¿© ¾Ö´Ï¸ÞÀ̼ÇÀ» ¼öÇàÇÑ´Ù.

ÀÌÀü ÇÁ·¹ÀÓÀ» Áö¿ì°í ´Ù½Ã ±×·Á¾ß ÇϹǷΠclearRect¸¦ ¸ÕÀú È£ÃâÇÑ´Ù. Áö¿ìÁö ¾ÊÀ¸¸é ÀÌÀüÀÇ »ç°¢ÇüÀÌ °è¼Ó ³²¾Æ ÀÖ¾î ¸·´ë ¸ð¾çÀ¸·Î Á¡Á¡ Ä¿Áú °ÍÀÌ´Ù. È­¸éÀ» ¿ÏÀüÈ÷ Áö¿ö ÀÌÀü ÀÜ»óÀ» ±ú²ýÇÏ°Ô ºñ¿î ÈÄ »õ·Î¿î x À§Ä¡¿¡ »ç°¢ÇüÀ» ±×¸°´Ù. x¿¡ delta¸¦ ´õÇÏ°í ĵ¹ö½º ÁÂ¿ì º®¿¡ ºÎµúÄ¡¸é deltaÀÇ ºÎÈ£¸¦ º¯°æÇÏ¿© ¹æÇâÀ» ¹Ù²Û´Ù. ¸Å ÇÁ·¹ÀÓ¸¶´Ù x ÁÂÇ¥°¡ ¹Ù²î¹Ç·Î »ç°¢ÇüÀÌ ¿òÁ÷ÀδÙ.

¿ÞÂʺ®¿¡ ºÎµúÄ£ Á¶°ÇÀº x°¡ À½¼öÀÎÁö¸¦ º¸¸é µÈ´Ù. ¿À¸¥ÂÊ º®¿¡ ºÎµúÄ£ Á¶°ÇÀº »ç°¢ÇüÀÇ ¿ÞÂʺ¯ ÁÂÇ¥°¡ ¾Æ´Ñ ¿À¸¥ÂÊ º¯ÀÇ ÁÂÇ¥¸¦ ºÁ¾ß ÇϹǷΠx¿¡ »ç°¢ÇüÀÇ ÆøÀÎ 20À» ´õÇÑ ÈÄ ÀÌ °ªÀ» ĵ¹ö½ºÀÇ Æø°ú ºñ±³ÇØ¾ß ÇÑ´Ù. ¾î´ÀÂÊÀÌµç ºÎµúÄ¡¸é deltaÀÇ ºÎÈ£°¡ ¹Ù²î¹Ç·Î ¹Ý´ë ¹æÇâÀ¸·Î ¿òÁ÷ÀδÙ. °¡¸¸È÷ ³»¹ö·Á µÖµµ »ç°¢ÇüÀÌ Á¿ì·Î ¿Ô´Ù¸® °¬´Ù¸® ¾î½½··°Å¸± °ÍÀÌ´Ù.

 

delta¿Í ŸÀÌ¸Ó È£Ãâ ÁÖ±â·Î ¾Ö´Ï¸ÞÀÌ¼Ç ¼Óµµ¸¦ Á¦¾îÇÑ´Ù. delta°ªÀ» Áõ°¡½ÃÅ°¸é »ç°¢ÇüÀÇ À̵¿ ¼Óµµ°¡ »¡¸®°í ŸÀÌ¸Ó È£Ãâ Áֱ⸦ ´Ã¸®¸é ¾Ö´Ï¸ÞÀ̼ÇÀº ´õ ´À·ÁÁø´Ù.

ŸÀ̸ӿ¡¼­ draw¸¦ ÁÖ±âÀûÀ¸·Î È£ÃâÇØ¾ß ÇϹǷΠ¿¹Á¦ÀÇ ±¸Á¶°¡ Á¶±Ý º¹ÀâÇÏ´Ù. À͸í ÇÔ¼ö¸¦ »ç¿ëÇϸé draw ¸Þ¼­µå¾È¿¡¼­ ¸ðµç °ÍÀ» ó¸®ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¿¹Á¦°¡ Á¶±Ý ´õ °£´ÜÇØÁø´Ù. ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇصµ °á°ú´Â °°´Ù.

 

anim2.html

<script>

     var canvas;

     var ctx;

     var x = 10;

     var delta = 1;

    

     window.onload = function() {

         canvas = document.getElementById("canvas");

         if (canvas == null || canvas.getContext == null) return;

         ctx = canvas.getContext("2d");

         draw();

     }

        

     function draw() {

         var x = 10;

         var delta = 1;

 

         setInterval(function() {

              ctx.clearRect(0, 0, canvas.width, canvas.height);

              ctx.fillRect(x, 10, 20,20);

 

              if (x + 20 > canvas.width || x < 0) {

                   delta = -delta;

              }

              x += delta;

         }, 30);

     }

</script>

 

draw ÇÔ¼ö ¾È¿¡¼­ À͸í ÇÔ¼ö·Î ŸÀ̸Ӹ¦ ¼³Ä¡ÇÏ°í À͸í ÇÔ¼ö°¡ ÁÖ±âÀûÀ¸·Î È£ÃâµÇ¾î ¾Ö´Ï¸ÞÀ̼ÇÀ» ó¸®ÇÑ´Ù. ¿ÀÇØÇÏÁö ¸» °ÍÀº ¸ðµç Äڵ尡 draw ÇÔ¼ö¿¡ ÀÛ¼ºµÇ¾î ÀÖÁö¸¸ ±×·¸´Ù°í Çؼ­ draw ¾È¿¡¼­ °è¼Ó ·çÇÁ¸¦ µµ´Â °ÍÀÌ ¾Æ´Ï¶ó´Â Á¡ÀÌ´Ù. draw´Â ŸÀÌ¸Ó ÇÔ¼ö¸¦ µî·ÏÇÏ°í ¹Ù·Î ¸®ÅÏÇÒ »ÓÀÌ¸ç ¸Å ÇÁ·¹ÀÓ¸¶´Ù À͸í ÇÔ¼ö°¡ È£ÃâµÇ¾î ÁÖ±âÀûÀ¸·Î ±×¸²À» ±×¸°´Ù.

°è¼Ó draw ÇÔ¼ö ¾È¿¡¼­ ½ÇÇàµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó ÁÖ±âÀûÀ¸·Î ŸÀÌ¸Ó ÇÔ¼ö¸¦ È£ÃâÇϹǷΠÈ帧À» ºí·ÏÇÏÁö ¾ÊÀ¸¸ç »ç¿ëÀÚ ÀԷ¿¡µµ ¹ÝÀÀÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿¹Á¦¿¡¼­ drawÀÇ Áö¿ª º¯¼öÀÎ x, delta¸¦ À͸í ÇÔ¼ö¿¡¼­ °è¼Ó ÂüÁ¶ÇÒ ¼ö ÀÖ´Â °ÍÀº ½ÇÇà±â°¡ Ŭ·ÎÀú¸¦ À¯ÁöÇÏ°í Àֱ⠶§¹®ÀÌ´Ù. °£´ÜÇÑ ¾Ö´Ï¸ÞÀ̼ÇÀº ÀÌ ¹æ¹ýÀ¸·Îµµ ÀÛ¼ºÇÒ ¼ö ÀÖÁö¸¸ draw ¾È¿¡¼­ ¸ðµç °ÍÀ» ó¸®ÇØ¾ß ÇϹǷΠȮÀ强ÀÌ ¶³¾îÁø´Ù.