lemansky

Untitled

Dec 13th, 2020 (edited)
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 2.33 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Document</title>
  6.     <script type="text/javascript">
  7.     document.addEventListener("DOMContentLoaded", function(){
  8.         let canvas = document.getElementById('canvasId');
  9.         let canvasId = canvas.getContext("2d");  
  10.         let mouse;
  11.         let points = [];
  12.  
  13.         canvas.addEventListener('click', function(evt){
  14.             mouse = mouse_player1(evt, canvas);
  15.             let newPointA = new Point(mouse.x, mouse.y);
  16.             points.push(newPointA);
  17.             let newPointB = new Point(canvas.width - mouse.x, mouse.y);
  18.             points.push(newPointB);
  19.             let newPointC = new Point(canvas.width - mouse.x, canvas.height - mouse.y);
  20.             points.push(newPointC);
  21.             let newPointD = new Point(mouse.x, canvas.height - mouse.y);
  22.             points.push(newPointD);
  23.             canvasId.beginPath();
  24.             canvasId.strokeStyle = 'red';
  25.             canvasId.moveTo(newPointA.x, newPointA.y);
  26.             canvasId.lineTo(newPointC.x, newPointC.y);
  27.             canvasId.stroke();
  28.             canvasId.closePath();
  29.  
  30.             canvasId.beginPath();
  31.             canvasId.strokeStyle = 'red';
  32.             canvasId.moveTo(newPointB.x, newPointB.y);
  33.             canvasId.lineTo(newPointD.x, newPointD.y);
  34.             canvasId.stroke();
  35.             canvasId.closePath();
  36.  
  37.         });
  38.  
  39.     });
  40.  
  41.     class Point{
  42.         constructor(x, y){
  43.             this.x = x;
  44.             this.y = y;
  45.         }
  46.     }
  47.  
  48.     const mouse_player1 = (evt, canvas) => {
  49.         var rect = canvas.getBoundingClientRect(); // взима позицията на платното в документа, в случай, че то не започва от горния ляв ъгъл
  50.         var mouseX = evt.clientX - rect.left; // позицията на курсора по хоризонтала
  51.         var mouseY = evt.clientY - rect.top; // позиията на курсора по вертикала
  52.         return {
  53.             x: mouseX,
  54.             y: mouseY,
  55.         } // фунцкията връша два параметъра, x и y
  56.     }
  57. </script>
  58. <style>
  59.     canvas{
  60.         background-color: black;
  61.     }
  62. </style>
  63. </head>
  64. <body style="margin:0px;">
  65.   <canvas width="800" height="800" id="canvasId"></canvas>
  66. </body>
  67. </html>
Add Comment
Please, Sign In to add comment