Advertisement
Guest User

Untitled

a guest
Oct 20th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 2.79 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4.     <meta charset="UTF-8" />
  5.     <title>ProgOE: TP3 - Canvas</title>
  6. </head>
  7. <body>
  8.     <canvas id="myCanvas" width="400" height="300" style="border:1px solid black;">
  9.     Votre navigateur ne supporte pas canvas.
  10. </canvas>
  11.  
  12.  
  13. <script type="text/javascript">
  14.     var posX;
  15.     var posY;
  16.     var vitesseX;
  17.     var vitesseY;
  18.     window.addEventListener('keydown',this.keyDown,false);
  19.     window.addEventListener('keyup',this.keyUp,false);
  20.     var canvas = document.getElementById("myCanvas");
  21.  
  22.     var context = canvas.getContext("2d");
  23.  
  24.     var diametreBalle = 20;
  25.  
  26.     posX = 1+diametreBalle/2;
  27.     posY = 1+diametreBalle/2;
  28.     vitesseX = 3;
  29.     vitesseY = 3;
  30.  
  31.  
  32.     function init(){
  33.         context.clearRect(0, 0, canvas.width, canvas.height);
  34.  
  35.         //Tracé de la balle
  36.         context.beginPath();
  37.         context.arc(posX, posY, diametreBalle/2, 0, Math.PI*2);
  38.         context.fill();
  39.     }
  40.     init();
  41.  
  42.     var left;
  43.     var right;
  44.     var up;
  45.     var down;
  46.  
  47.     function animate(){
  48.         context.clearRect(0, 0, canvas.width, canvas.height);
  49.         //Tracé de la balle
  50.         context.beginPath();
  51.         context.arc(posX, posY, diametreBalle/2, 0, Math.PI*2);
  52.         context.fill();
  53.        
  54.  
  55.         if(posX+diametreBalle/2 >= canvas.width){
  56.             if(left){
  57.                 posX -= vitesseX;
  58.             }
  59.         } else if(posX <= 0+diametreBalle/2){
  60.            if(right){
  61.                posX += vitesseX;
  62.            }
  63.        } else {
  64.            if(left){
  65.                posX -= vitesseX;
  66.            }
  67.            if(right){
  68.                posX += vitesseX;
  69.            }
  70.        }
  71.  
  72.        if(posY+diametreBalle/2 >= canvas.height){
  73.             if(up){
  74.                 posY -= vitesseY;
  75.             }
  76.         } else if(posY <= 0+diametreBalle/2){
  77.            if(down){
  78.                posY += vitesseY;
  79.            }
  80.        } else {
  81.            if(up){
  82.                posY -= vitesseY;
  83.            }
  84.            if(down){
  85.                posY += vitesseY;
  86.            }
  87.        }
  88.    }
  89.  
  90.    var myInterval = setInterval(animate, 1000/100);
  91.  
  92.    function keyDown(e) {
  93.        var code = e.keyCode;
  94.        if(code == 37){
  95.            left = true;
  96.        }
  97.        if(code == 38){
  98.            up = true;
  99.        }
  100.        if(code == 39){
  101.            right = true;
  102.        }
  103.        if(code == 40){
  104.            down = true;
  105.        }
  106.    }
  107.  
  108.    function keyUp(e) {
  109.        var code = e.keyCode;
  110.        if(code == 37){
  111.            left = false;
  112.        }
  113.        if(code == 38){
  114.            up = false;
  115.        }
  116.        if(code == 39){
  117.            right = false;
  118.        }
  119.        if(code == 40){
  120.            down = false;
  121.        }
  122.    }
  123. </script>
  124. </body>
  125. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement