Advertisement
nikolov_k

Moving Circle

May 11th, 2013
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var movingCircle = (function () {
  2.     var canvas = document.getElementById("main-canvas").getContext("2d");
  3.     var circle = new Circle(111, 150);
  4.     var change = new Change(1, 1);
  5.  
  6.     function Circle(baseLeft, baseTop) {
  7.         this.baseLeft = baseLeft;
  8.         this.baseTop = baseTop;
  9.     }
  10.  
  11.     function Change(left, top) {
  12.         this.left = left;
  13.         this.top = top;
  14.     }
  15.  
  16.     function drawField() {
  17.         canvas.beginPath();
  18.         canvas.fillStyle = "#88DDDD";
  19.         canvas.strokeStyle = "#002222";
  20.         canvas.moveTo(100, 100);
  21.         canvas.lineTo(100, 600);
  22.         canvas.lineTo(800, 600);
  23.         canvas.lineTo(800, 100);
  24.         canvas.lineTo(100, 100);
  25.         canvas.fill();
  26.         canvas.stroke();
  27.  
  28.     }
  29.     function drawCircle() {
  30.         var radius = 10;
  31.         canvas.beginPath();
  32.         canvas.arc(circle.baseLeft, circle.baseTop, radius, 0, 2 * Math.PI, false);
  33.         canvas.fillStyle = 'green';
  34.         canvas.fill();
  35.         canvas.lineWidth = 1;
  36.         canvas.strokeStyle = '#003300';
  37.         canvas.stroke();
  38.     }
  39.     function render() {      
  40.         drawField();
  41.         drawCircle();
  42.         updatePosition();
  43.         if (circle.baseTop == 110) {
  44.             change.top *= -1;
  45.         }
  46.         if (circle.baseTop == 590) {
  47.             change.top *= -1;
  48.         }
  49.         if (circle.baseLeft == 110) {
  50.             change.left *= -1;
  51.         }
  52.         if (circle.baseLeft == 790) {
  53.             change.left *= -1;
  54.         }
  55.     }
  56.     function updatePosition() {
  57.         circle.baseLeft += change.left;
  58.         circle.baseTop += change.top;
  59.     }
  60.  
  61.     function play() {
  62.         setInterval(render, 20);
  63.         }
  64.     return {
  65.         play: play
  66.     }
  67. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement