动力容器的偏移和位置之间有什么区别

时间:2013-11-08 18:30:00

标签: kineticjs

Kinetic.js允许您设置和获取位置和偏移量动态容器子类(形状,组,层,阶段等)。

请解释偏移和位置属性之间的区别。何时应该使用另一个。

1 个答案:

答案 0 :(得分:4)

排名可用于设置您的容器应放在父容器上的位置。

偏移对于设置容器的中心非常有用。

默认情况下,当您设置rectange的位置时(例如),您将设置左上角的位置。 所以左上角是rectange的“中心”。如果你将使用旋转,rectange将旋转相关的中心。 示例:http://jsfiddle.net/lavrton/55Bxq/

      var stage = new Kinetic.Stage({
        container: 'container',
        width: 578,
        height: 200
      });
      var layer = new Kinetic.Layer();
      var rect1 = new Kinetic.Rect({
         x : 100,
         y : 100,
         width: 50,
         height: 50,
         fill: 'green',
         stroke: 'black'
      });
      layer.add(rect1);
    var rect2 = new Kinetic.Rect({
        x : 250,
        y : 125,
        width: 50,
        height: 50,
        fill: 'red',
        stroke: 'black',
        offset : {x : 25, y : 25}
      });
      layer.add(rect2);
      stage.add(layer);

      var tween1 = new Kinetic.Tween({
          node : rect1,
          duration: 1,
          rotation: Math.PI * 2
      });
    var tween2 = new Kinetic.Tween({
          node : rect2,
          duration: 1,
          rotation: Math.PI * 2
      });

      // start tween after 2 seconds
      setTimeout(function() {
        tween1.play();
        tween2.play();
      }, 2000);