gameScript.js 2.4 KB

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