gameScript.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. var myGamePiece;
  2. var secs = 0;
  3. const imagesDir = 'images/';
  4. const charAnim = [imagesDir+'idle.png', imagesDir+'walk1.png', imagesDir+'walk2.png'];
  5. function startGame() {
  6. myGamePiece = new component(40, 60, charAnim[0], 0, window.innerHeight-60, "image");
  7. myGamePiece.gravity = 0.025;
  8. myScore = new component("30px", "Consolas", "black", 280, 40, "text");
  9. myGameArea.start();
  10. }
  11. var myGameArea = {
  12. canvas : document.createElement("canvas"),
  13. start : function() {
  14. this.canvas.width = window.innerWidth-(window.innerWidth*0.015);
  15. this.canvas.height = window.innerHeight-(window.innerHeight*0.015);
  16. this.context = this.canvas.getContext("2d");
  17. document.body.insertBefore(this.canvas, document.body.childNodes[0]);
  18. document.addEventListener("keydown",keyDown,false);
  19. document.addEventListener("keyup",keyUp,false);
  20. this.frameNo = 0;
  21. this.interval = setInterval(updateGameArea, 15);
  22. },
  23. clear : function() {
  24. this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
  25. }
  26. }
  27. function updateGameArea() {
  28. var x, height, gap, minHeight, maxHeight, minGap, maxGap;
  29. secs++;
  30. if(secs >= 0 && secs < 30 && myGamePiece.isMoving){
  31. myGamePiece.image.src = charAnim[1];
  32. }
  33. if(secs >= 30 && secs < 50 && myGamePiece.isMoving){
  34. myGamePiece.image.src = charAnim[2];
  35. }
  36. if(secs >=50){
  37. secs = 0;
  38. }
  39. myGameArea.clear();
  40. //myGameArea.frameNo += 1;
  41. myGamePiece.newPos();
  42. myGamePiece.update();
  43. }
  44. function everyinterval(n) {
  45. if ((myGameArea.frameNo / n) % 1 == 0) {return true;}
  46. return false;
  47. }
  48. function moveRight(n){
  49. myGamePiece.speedX = n;
  50. myGamePiece.isMoving = true;
  51. myGamePiece.direction = true;
  52. }
  53. function moveLeft(n){
  54. myGamePiece.speedX = -n;
  55. myGamePiece.isMoving = true;
  56. myGamePiece.direction = false;
  57. }
  58. function jump(n){
  59. //myGamePiece.isJumping = true;
  60. myGamePiece.speedY = -n;
  61. //myGamePiece.y = myGameArea.canvas.height - n;
  62. myGamePiece.isMoving = true;
  63. console.log("salto");
  64. }
  65. // 32 -> Space
  66. // 37 -> Left
  67. // 38 -> Up
  68. // 39 -> Right
  69. // 40 -> Down
  70. function keyDown(e){
  71. if(!e) e = event;
  72. if(e.keyCode == 32 && !myGamePiece.isJumping) jump(10);
  73. if(e.keyCode == 37) moveLeft(1);
  74. if(e.keyCode == 39) moveRight(1);
  75. //console.log(e.keyCode);
  76. }
  77. function keyUp(e){
  78. if(!e) e = event;
  79. myGamePiece.image.src = charAnim[0];
  80. myGamePiece.isMoving = false;
  81. if(e.keyCode == 32){
  82. myGamePiece.speedY = 0;
  83. }
  84. if(e.keyCode >= 37 && e.keyCode <= 40){
  85. myGamePiece.speedX = 0;
  86. }
  87. }