如何在kineticjs中将阶段重新定位到初始位置?

时间:2014-05-16 05:29:01

标签: kineticjs

我正在使用以下代码缩放阶段

var scale = stage.getScale();
    scale.x *= 1.5; //zoomFactor is a global variable
    scale.y *= 1.5;
    stage.setScale(scale);
    stage.setDraggable(true);
    stage.draw();

拖动阶段后,现在我想将阶段重新定位到初始位置,初始比例值为,

    var scale = stage.getScale();
    scale.x=1;
    scale.y=1;
    stage.setScale(scale);        
    stage.x = 0;
    stage.y = 0;
    stage.draw();
    stage.setDraggable(false);

此代码适用于将比例值重置为初始值,但阶段未移至初始位置,这是正确的还是我需要更改代码。

提前致谢

2 个答案:

答案 0 :(得分:0)

您可以使用API​​函数!

  stage.x(0);
  stage.y(0);

或者:

  stage.setX(0);
  stage.setY(0);

答案 1 :(得分:0)

首先缩放前保存舞台位置:

var scale = stage.getScale();
var stageOriginalX = stage.getPosition().x;
var stageOriginalY = stage.getPosition().y;
    scale.x *= 1.5; //zoomFactor is a global variable
    scale.y *= 1.5;
    stage.setScale(scale);
    stage.setDraggable(true);
    stage.draw();

缩小后,设置原始坐标:

var scale = stage.getScale();
scale.x=1;
scale.y=1;
stage.setScale(scale);        
stage.setPosition(stageOriginalX,stageOriginalY);
stage.setDraggable(false);