0

I am trying to change size of kinetic group. but it gives JavaScript error message.

in kinetic js document its written than setSize works with group nodes

4

3 に答える 3

1

その点で、ドキュメントは少し古くなっていると思います。グループにはdrawFuncがないため、幅や高さはありません。それらが幅と高さを取得した場合、クリップされたグループを作成することが可能になります。これは素晴らしいことです。ただし、現在のように、グループは、グループ内に含まれるオブジェクトの相対的なxおよびy開始座標を定義するために使用されます。これにより、複数のオブジェクトを一度に移動できます(ドラッグ、moveTo、イベントハンドラーなど)が、それだけです。

要求に応じてJsFiddle

var group = new Kinetic.Group({
    x: 220,
    y: 40,
    draggable: true
});

グループをドラッグ可能にして、オブジェクトをグループに追加するだけです。

于 2012-11-01T13:17:02.947 に答える
0

以下のコードでは、クリッピング プロパティを持つグループを作成できます。幅と高さがクリッピング ボックスであるグループのようにインスタンス化します。

Kinetic.Clipper = function(config) {
    this._initGroup(config);
};
Kinetic.Clipper.prototype = {
    _initGroup: function(config) {
        this.nodeType = 'Group';
        Kinetic.Container.call(this, config);
    },
    drawScene: function() {
        if(this.isVisible()) {

            var context = this.getLayer().getContext();
            var width = this.getWidth(), height = this.getHeight();
            context.save();
            context.beginPath();
            context.rect(0, 0, width, height);
            context.clip();

            var children = this.children, len = children.length;
            for(var n = 0; n < len; n++) {
                children[n].drawScene();
            }

            context.restore();
        }
    },
};
Kinetic.Global.extend(Kinetic.Clipper, Kinetic.Container);
于 2012-12-02T16:45:05.130 に答える
0

ドキュメントが古いか間違っています。グループサイズを直接変更することはできません

于 2012-12-15T06:45:52.683 に答える