Guest User

Untitled

a guest
Nov 24th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. function vec2(x, y)
  3. {
  4.     this.x = x;
  5.     this.y = y;
  6. }
  7.  
  8. function getCursorPosition(e) {
  9.     var x;
  10.     var y;
  11.     if (e.pageX != undefined && e.pageY != undefined) {
  12.         //alert("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
  13.         x = e.pageX;
  14.         y = e.pageY;
  15.     }
  16.     else {
  17.         //alert("e.clientX: " + e.clientX + ", e.clientY: " + e.clientY);
  18.         x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
  19.         y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
  20.     }
  21.     //alert("x: " + x + ", y: " + y);
  22.  
  23.     return new vec2(x, y);
  24. }
  25.  
  26. function getRelativeCursorPosition(e, elem) {
  27.     var pos = getCursorPosition(e);
  28.     var offset = elem.offset();
  29.     pos.x -= offset.left;
  30.     pos.y -= offset.top;
  31.     return pos;
  32. }
  33.  
  34. var drawing = false;
  35.  
  36. function v2d_game_down(e)
  37. {
  38.     if (!drawing && e.button == 0)
  39.     {
  40.         var ctx = $("#gameboard")[0].getContext("2d");
  41.         var pos = getRelativeCursorPosition(e, $("#gameboard"));
  42.         //ctx.fillStyle(38,156,45,0.5);
  43.         ctx.fillRect(pos.x-7,pos.y-7,15,15);
  44.         //ctx.rect(pos.x-7,pos.y-7,15,15)
  45.         ctx.beginPath();
  46.         drawing = true;        
  47.     }
  48. }
  49.  
  50. function v2d_game_move(e)
  51. {
  52.     if (drawing)
  53.     {
  54.         var ctx = $("#gameboard")[0].getContext("2d");
  55.         var pos = getRelativeCursorPosition(e, $("#gameboard"));
  56.  
  57.         ctx.lineTo(pos.x, pos.y);
  58.         ctx.stroke();
  59.         //ctx.rect(pos.x-7,pos.y-7,15,15);
  60.     }
  61. }
  62.  
  63. function v2d_game_up(e)
  64. {
  65.     if (drawing && e.button == 0)
  66.     {
  67.         var ctx = $("#gameboard")[0].getContext("2d");
  68.         var pos = getRelativeCursorPosition(e, $("#gameboard"));
  69.        
  70.         ctx.closePath();
  71.  
  72.         ctx.beginPath();
  73.         ctx.arc(pos.x, pos.y, 10, 0, Math.PI*2, false);
  74.         ctx.closePath();
  75.         ctx.strokeStyle = "rgb(0,0,0)";
  76.         ctx.stroke();
  77.         ctx.fillStyle = "rgba(" + Math.round((pos.x /800)*255) + ", " + Math.round(Math.random() * 255) + ", " + Math.round((pos.y/600)*255) + ", 0.5)";
  78.         ctx.fill();
  79.         ctx.closePath();
  80.  
  81.         drawing = false;
  82.     }
  83. }
  84.  
  85. /*
  86. var lastTime = 0;
  87. var Frames = 0;
  88.  
  89. function v2d_game_draw(e)
  90. {
  91.     ++Frames;
  92.  
  93.     var thisTime = new Date().getTime();
  94.     var diffTime = thisTime - lastTime;
  95.  
  96.     if (diffTime > 1000)
  97.     {
  98.         var diffSec = diffTime / 1000;
  99.         var msg = "FPS: " + (Frames / diffSec);
  100.         $("#fps").text(msg);
  101.         //alert(msg);
  102.         LastTime = thisTime;
  103.         Frames = 0;
  104.     }
  105. }
  106. */
  107.  
  108. var lastTime = 0;
  109. var Frames = 0;
  110.  
  111. function v2d_game_draw(e)
  112. {
  113.     Frames += 1;
  114.  
  115.     var clock = new Date();
  116.     var thisTime = clock.getTime();
  117.     var diffTime = thisTime - lastTime;
  118.  
  119.     if (diffTime > 1000)
  120.     {
  121.         var diffSec = diffTime / 1000;
  122.         var msg = "Frames: " + Frames + "; Time: " + diffSec + ", FPS: " + (Frames / diffSec);
  123.         $("#fps").text(msg);
  124.         //alert(msg);
  125.         lastTime = thisTime;
  126.         Frames = 0;
  127.     }
  128. }
  129.  
  130.  
  131. function v2d_event_mousemove(e) {
  132.     var pos = getRelativeCursorPosition(e, $("#gameboard"));
  133.  
  134.     $("#mouse").text("X: " + pos.x + ", Y: " + pos.y);
  135. }
  136.  
  137. function v2d_game_rain(e) {
  138.  
  139.     if (!drawing){
  140.  
  141.     var ctx = $("#gameboard")[0].getContext("2d");
  142.     ctx.BeginPath();
  143.     ctx.rect(25,25,5,25);
  144.     ctx.closePath();
  145.     drawing = false;
  146.     }
  147. }
  148.  
  149. /* Game loop */
  150.  
  151. function gameInit()
  152. {
  153.     setInterval(v2d_game_draw, 20);
  154.     $("#gameboard")[0].addEventListener("mousedown", v2d_game_down, false);
  155.     $("#gameboard")[0].addEventListener("mousemove", v2d_game_move, false);
  156.     $("#gameboard")[0].addEventListener("mouseup", v2d_game_up, false);
  157.     $("#gameboard")[0].addEventListener("draw", v2d_game_draw, false);
  158.     //$("#gameboard")[0].addEventListener("rain", v2d_game_rain, false);
  159.     //$("#progressbar").progressbar({ value: 37 });
  160. }
  161.  
  162. function gameLoop()
  163. {
  164.  
  165.     // pop canvas to background
  166.     // draw each object
  167. }
Add Comment
Please, Sign In to add comment