Advertisement
nPhoenix

Toupeira Game

May 3rd, 2019
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var holePositions = [
  2.     {x: 13, y: 51},
  3.     {x: 223, y: 90},
  4.     {x: 432, y: 20},
  5.     {x: 62, y: 200},
  6.     {x: 432, y: 200},
  7.     {x: 22, y: 320},
  8.     {x: 316, y: 308}
  9. ];
  10.  
  11. var holeSize = {
  12.     width: 186,
  13.     height: 67
  14. };
  15.  
  16. var molePosition = [];
  17.  
  18. for (let i = 0, l = holePositions.length; i < l; i++) {
  19.     molePosition[i] = {
  20.         x: holePositions[i].x + 49,
  21.         y: holePositions[i].y - 43
  22.     };
  23. };
  24.  
  25. var imgs = {};
  26.  
  27. var canvas = document.querySelector("canvas"),
  28.     ctx = canvas.getContext("2d");
  29.  
  30. var loadImage = (key, src, callback) => {
  31.     imgs[key] = new Image();
  32.     imgs[key].src = src;
  33.     imgs[key].addEventListener("load", () => callback(null, key));
  34. };
  35.  
  36. var render = () => {
  37.     ctx.drawImage(imgs.background, 0, 0);
  38.     for (let i = 0, l = molePosition.length; i < l; i++)
  39.         ctx.drawImage(imgs.mole, molePosition[i].x, molePosition[i].y);
  40. };
  41.  
  42. var clickInteract = (event) => {
  43.    
  44.     var click = {
  45.         x: event.clientX,
  46.         y: event.clientY
  47.     };
  48.    
  49.     // console.log("click", click);
  50.    
  51.    
  52.     for (let i = 0, l = holePositions.length; i < l; i ++) {
  53.         if (click.x >= holePositions[i].x && click.x <= holePositions[i].x + holeSize.width &&
  54.            click.y >= holePositions[i].y && click.y <= holePositions[i].y + holeSize.height) {
  55.             console.log("Clicou!", {i})
  56.         }
  57.     };
  58.    
  59.     // console.log(imgs.mole.width);
  60. };
  61.  
  62. canvas.addEventListener("click", clickInteract);
  63.  
  64. async.parallel({
  65.     background: (next) => loadImage("background", "ground.png", next),
  66.     mole: (next) => loadImage("mole", "mole.png", next)
  67. },
  68.     () => render()
  69. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement