archangelmihail

KineticJSRotatingTriangles

Jun 8th, 2014
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ( function() {
  2.             var stage = new Kinetic.Stage({
  3.               container: 'kinetic-container',
  4.               width: 500,
  5.               height: 500
  6.             }),
  7.                 topLayer = new Kinetic.Layer(),
  8.                 midLayer = new Kinetic.Layer(),
  9.                 botLayer = new Kinetic.Layer();
  10.  
  11.             function makeRect(posX, posY, recWidth, recHeight, fillColor, strokeColor, strokeWidth, drag, offX, offY) {
  12.                 return new Kinetic.Rect({
  13.                   x: posX,
  14.                   y: posY,
  15.                   width: recWidth,
  16.                   height: recHeight,
  17.                   fill: fillColor,
  18.                   stroke: strokeColor,
  19.                   strokeWidth: strokeWidth,
  20.                   draggable: drag,
  21.                   offset: {
  22.                     x:offX , y:offY}
  23.                 });
  24.             }
  25.  
  26.             var blueRect = makeRect(50, 50, 300, 50, "blue", "red", 3, true, -60, 30),
  27.                 yellowRect = makeRect(220, 75, 300, 50, 'yellow', 'black', 4, false, -15, -30),
  28.                 redRect = makeRect(400, 75, 300, 50, 'red', 'black', 4, false, 150, 200);
  29.  
  30.             botLayer.add(redRect);
  31.             midLayer.add(yellowRect);
  32.             topLayer.add(blueRect);
  33.            
  34.             stage.add(midLayer);
  35.             stage.add(topLayer);
  36.             stage.add(botLayer);
  37.             // one revolution per 4 seconds
  38.             var angularSpeed = 360 / 4;
  39.             var animTop = new Kinetic.Animation(function(frame) {
  40.               var angleDiff = frame.timeDiff * angularSpeed / 1000;
  41.               blueRect.rotate(angleDiff);
  42.             }, topLayer);
  43.             var animMid = new Kinetic.Animation(function(frame) {
  44.               var angleDiff = frame.timeDiff * angularSpeed * 2 / 1000;
  45.               yellowRect.rotate(angleDiff);
  46.             }, midLayer);
  47.             var animBot = new Kinetic.Animation(function(frame) {
  48.               var angleDiff = -frame.timeDiff * angularSpeed * 2 / 1000;
  49.               redRect.rotate(angleDiff);
  50.             }, botLayer);
  51.  
  52.             animTop.start();
  53.             animMid.start();
  54.             animBot.start();
  55.           })();
  56.       </script>
Advertisement
Add Comment
Please, Sign In to add comment