Kinetic JS - Existe uma maneira de retornar as coordenadas x, y enquanto arrasta?
-
21-12-2019 - |
Pergunta
Estou fazendo um controle deslizante que se move para cima e para baixo com Kinetic JS.Aqui está meu botão de alternância arrastável:
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
}
}
});
Estou tentando retornar a coordenada y da alternância para poder incrementar um contador com base na altura da alternância.Cada método que tentei retorna o valor original de y durante e após o arrasto.Existe uma maneira de obter o valor de y alterado?Aqui estão os métodos que já tentei:
getY(), getAbsolutePosition().y, dragDistance(), .y(), getOffset().y, getPosition().y
Solução
Acho que você entendeu mal o uso de dragBoundFunc
.
dragBoundFunc
é usado principalmente para restringir de alguma forma o movimento da forma quando ela está sendo arrastada.
O que você deve fazer é anexar um dragmove
ouvinte de evento para sua forma de alternância, que será acionada quando você arrastar a forma.
Dê uma olhada neste jsfiddle
A coordenada Y é impressa no console do navegador sempre que a forma de alternância é arrastada.