0

我正在寻找一种将多个形状(矩形)一起移动的方法。使用鼠标滚轮滚动时,形状应在大小 (setWidth) 上更改并移动到不同的 x 位置。我知道无法设置图层的宽度,因为代表图层的画布始终与动态舞台的大小相同。组里应该也是这样吧……

我创建了一个小提琴:jsfiddle.net

我想将形状与上述日历网格相匹配,因此当用户使用鼠标滚动时,它们的 x 位置和宽度必须设置为新值(第 444 行):

    else if (eventline.stage.zoomWheel<=8){
      group.setX(sdaynum*cellW/7);
      group.setWidth((edaynum-sdaynum)*cellW/7);

在此先感谢您的帮助!

4

1 回答 1

2

有很多代码需要处理,所以这里有一个一般性的答案。

动力学组可以移动和调整大小...

Kinetic Group 是一个容器,您可以将多个形状放入其中。

这是组织日历的好方法。

您可以通过简单地将组的可拖动属性设置为 true 来拖动组:

myGroup.setDraggable(true);

您可以设置组的 XY 位置(也为所有包含的形状设置 XY):

myGroup.setX(20);
myGroup.setY(20);

重要的是,在您的情况下,您还可以枚举该组的所有孩子更改这些孩子的属性:

myGroup.getChildren().each( function(){

    // Make your changes to each child here
    // You could set each child's XY position within the group (relative positioning)
    // You could reset each child's width 

});

在您的情况下也很有用的是您可以有多个组并在它们之间移动形状:

aSelectedDay.moveTo(myVacationGroup);

anotherSelectedDay.moveTo(myConferenceGroup);
于 2013-07-18T19:02:11.127 回答