SteveGraham

CANVAS BACSIC ANIMATION

Mar 3rd, 2022
1,268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.21 KB | None | 0 0
  1. <style>
  2.     img { display:none;}
  3.    
  4.     * { margin:0; padding:0;}
  5. </style>
  6.     <img id="img" src="HD-wallpaper-space-starry-sky-stars-glow.jpg" />
  7.     <img id="player" src="1.png" />
  8.     <img id="shoot" src="x2.png" />
  9.     <img id="enemy" src="iuu.png" />
  10.     <img id="background" src="bg.jpg" />
  11.    
  12.     <iframe src="Recording (autosaved) (4).m4a" allow="autoplay" id="audio" style="display: none"></iframe>
  13.    
  14.     <audio id="player" controls="" autoplay="true" loop>
  15.         <source src="xer.mp4" type="audio/mp3">
  16.     </audio>
  17.         <!--
  18.     <audio controls autoplay loop >
  19.       <source src="horse.ogg" type="audio/ogg">
  20.       <source src="xer.mp4" type="audio/mpeg">
  21.     Your browser does not support the audio element.
  22.     </audio> -->
  23. <canvas id="canvas" width="640" height="480"></canvas>
  24.  
  25. <script>
  26.  var audio = new Audio("xer.mp4");
  27.     audio.play();
  28.     //context.fillStyle="white";
  29.     //context.fillRect(px-pd/2,py-pd/2,pd,pd);
  30.  
  31.  
  32. var bg = document.getElementById("img");
  33. var player = document.getElementById("player");
  34.     canvas.height = innerHeight;
  35.     canvas.width = innerWidth;
  36.    
  37. px=py=100;
  38. pd=80;
  39. ps=15;
  40. el=[];
  41. ed=80;
  42. es=5;
  43. sl=[];
  44. sd=20;
  45. ss=7;
  46. score = 0;
  47. window.onload = function() {
  48. /*
  49.     canvas=document.createElement("canvas");
  50.     canvas.width=640;
  51.     canvas.height=480;
  52.     document.body.appendChild(canvas);
  53.     */
  54.    
  55.     var canvas = document.getElementById("canvas");
  56.     context=canvas.getContext("2d");
  57.     setInterval(update,1000/30);
  58.     setInterval(spawn,2000);
  59.     document.addEventListener('keydown',keyPush);
  60.    
  61.  
  62. }
  63.  
  64.  
  65.  
  66. function spawn() {
  67.     el.push({x:canvas.width,y:Math.random()*canvas.height}); // enemy position, y postion random x postion end of the canv
  68.     //console.log(el);
  69. }
  70.  
  71. function update() {
  72.  
  73.  
  74.    
  75.     context.fillStyle="black";
  76.     context.fillRect(0,0,canvas.width,canvas.height);
  77.    
  78.         context.drawImage(background, 0, 0,canvas.width,canvas.height);
  79.        
  80.  
  81.     context.drawImage(player,px-pd/2,py-pd/2,pd,pd);
  82.    
  83.    
  84.    
  85.     context.font = "50px Arial";
  86.     context.fillStyle="white";
  87.     context.fillText("Score : " + score,100,50);
  88.    
  89.     //context.fillStyle="lime";
  90.     for(var s=0;s<sl.length;s++) {
  91.    
  92.             sl[s].x += ss;
  93.            
  94.            
  95.         //context.fillRect();
  96.             context.drawImage(shoot,sl[s].x-sd/2,sl[s].y-sd/2,sd,sd);
  97.        
  98.        
  99.         for(var e=el.length-1;e>=0;e--) {
  100.             var dx=Math.abs(el[e].x-sl[s].x);
  101.             var dy=Math.abs(el[e].y-sl[s].y);
  102.             var dist=Math.sqrt(dx*dx+dy*dy);
  103.  
  104.             if(dist< (sd+ed)/2) {
  105.                 el.splice(e,1);
  106.                 sl[s] = 0;
  107.                 score++;
  108.             }
  109.         }
  110.     }
  111.     //context.fillStyle="red";
  112.     for(var e=0;e<el.length;e++) {
  113.         el[e].x -= es;
  114.         //context.fillRect();
  115.         context.drawImage(enemy,el[e].x-ed/2,el[e].y-ed/2,ed,ed);
  116.        
  117.        
  118.        
  119.         var dx=Math.abs(el[e].x-px);
  120.         var dy=Math.abs(el[e].y-py);
  121.         var dist=Math.sqrt(dx*dx+dy*dy);
  122.         if(dist< (pd+ed)/2) {
  123.             sl=[];
  124.             el=[];
  125.             px=py=100;
  126.             score = 0;
  127.             break;
  128.         }
  129.     }
  130. }
  131.  
  132.  
  133.  
  134. function keyPush(evt) {
  135.     switch(evt.keyCode) {
  136.         case 32:
  137.            
  138.           sl.push({x:px,y:py});
  139.          //console.log({x:px,y:py});
  140.                    
  141.             break;
  142.         case 37:
  143.             px-=ps;
  144.             break;
  145.         case 38:
  146.             py-=ps;
  147.             break;
  148.         case 39:
  149.             px+=ps;
  150.             break;
  151.         case 40:
  152.             py+=ps;
  153.             break;
  154.     }
  155. }
  156. </script>
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
Advertisement
Add Comment
Please, Sign In to add comment