Kinetic JS - ドラッグ中に X、Y 座標を返す方法はありますか?

StackOverflow https://stackoverflow.com//questions/24027010

  •  21-12-2019
  •  | 
  •  

質問

Kinetic JSで上下に動くトグルスライダーを作っています。これが私のドラッグ可能なトグルです:

this.toggle = new Kinetic.Rect({
        x: (this.stage.getWidth() / 2) - 20,
        y: 210,
        shadowColor: '#95BA91',
        shadowOffsetX: 5,
        shadowOffsetY: 5,
        width: 40,
        height: 15,
        fill: '#FFF',
        cornerRadius: 3,
        draggable: true,
        dragBoundFunc: function( pos ) {
            return {
                x: this.getAbsolutePosition().x,
                y: pos.y
            }
        }
    });

トグルの高さに基づいてカウンターを増分できるように、トグルの y 座標を返そうとしています。私が試したすべての方法は、ドラッグ中およびドラッグ後に y の元の値を返します。変更されたy値を取得する方法はありますか?私がすでに試した方法は次のとおりです。

getY()、getAbsolutePosition().y、dragDistance()、.y()、getOffset().y、getPosition().y

役に立ちましたか?

解決

の使い方を誤解しているようです dragBoundFunc.

dragBoundFunc は主に、ドラッグ中のシェイプの動きを何らかの方法で制限するために使用されます。

あなたがすべきことは、 dragmove イベント リスナーをトグル シェイプに追加します。これは、シェイプをドラッグしているときに起動されます。

これをみて jsフィドル

トグル形状がドラッグされるたびに、Y 座標がブラウザのコンソールに表示されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top