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 に答える