Advertisement
Guest User

Thanks, Loktar!

a guest
Feb 24th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function() {
  2.     var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
  3.     window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
  4.     window.requestAnimationFrame = requestAnimationFrame;
  5. })();
  6.  
  7. var canvas = document.getElementById("canvas"),
  8.     width = canvas.width,
  9.     height = canvas.height,
  10.     ctx = canvas.getContext("2d"),
  11.     player = {
  12.         x: 0,
  13.         y: canvas.height - 25,
  14.         velX: 0,
  15.         velY: 0,
  16.         speed: 3,
  17.         width: 25,
  18.         height: 25,
  19.         friction: 0.9,
  20.         gravity: 0.2,
  21.         jumping: false
  22.     },
  23.     keys = [];
  24. document.body.addEventListener("keydown", function(e) {
  25.     keys[e.keyCode] = true;
  26. });
  27.  
  28. document.body.addEventListener("keyup", function(e) {
  29.     keys[e.keyCode] = false;
  30. });
  31. function rect(x, y, width, height, color) {
  32.     ctx.fillStyle = color;
  33.     ctx.fillRect(x, y, width, height);
  34.     ctx.fillStyle = 'black';
  35. }
  36. function update() {
  37.     if (keys[87]) {
  38.         if (!player.jumping) {
  39.             player.jumping = true;
  40.             player.velY = -player.speed * 2;
  41.         }
  42.     }
  43.     if (keys[68]) {
  44.         if (player.velX < player.speed) {                        
  45.             player.velX++;                  
  46.         }          
  47.     }          
  48.     if (keys[65]) {                                  
  49.         if (player.velX > -player.speed) {
  50.             player.velX--;
  51.         }
  52.     }
  53.     if (player.x >= canvas.width - player.width) {
  54.         player.x = canvas.width - player.width;
  55.     } else if (player.x <= 0) {
  56.         player.x = 0;
  57.     }
  58.     if (player.y >= canvas.height - player.height) {
  59.         player.y = canvas.height - player.height;
  60.         player.jumping = false;
  61.     }
  62.     player.x += player.velX;
  63.     player.y += player.velY;
  64.     player.velX *= player.friction;
  65.     player.velY += player.gravity;
  66.     ctx.clearRect(0, 0, canvas.width, canvas.height);
  67.     rect(player.x, player.y, player.width, player.height, 'black');
  68.     requestAnimationFrame(update);
  69. }
  70. requestAnimationFrame(update);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement