KineticJs validação de peças de quebra-cabeça?
-
21-12-2019 - |
Pergunta
alguém sabe como posso validar o meu peças de quebra-cabeça de volta para o local original após ser mexidos?e mostrar que completei o quebra-cabeça?Currrently eu estou usando kineticJs biblioteca.Obrigado :)
function jigsaw(){
var imageObj = new Image();
imageObj.src = "kidwallpaper.jpg";
imageObj.onload = function(){
drawImage(this);
}
}
P. S :Meu jsfiddle : http://jsfiddle.net/vFez6/21/
Solução
É uma maneira de definir um círculo, onde cada peça se conecta a outra peça.
Por exemplo, suponha que seu quebra-cabeça tem apenas 2 peças, uma parte superior e uma parte inferior.
Esta ilustração mostra um círculo vermelho na parte superior e uma medalha de ouro do círculo na parte inferior.
Quando a conexão círculos exatamente sobrepor-se, em seguida, as peças são exatamente ligados.
É claro que você provavelmente quer dar a seus jogadores uma margem de erro, de modo que eles não precisam exatamente sobreposição de círculos.Talvez, se os 2 círculos se sobrepõem, em tudo, então é "bom o suficiente" para ser chamado resolvido.
Se você tiver definido o x,y,raio de 2 círculos, em seguida, você pode dizer se eles se sobrepõem a todos como este:
var dx = circle2.x - circle1.x;
var dy = circle2.y - circle1.y;
var isSolved = Math.sqrt(dx*dx+dy*dy) <= circle.radius*2;
Eu vejo que você está girando as peças.Isso significa que você deve testar-se que o ângulo de rotação de 2 peças são as mesmas para eles para ser ligado.
Naturalmente, você não iria, na verdade, desenhar os círculos -- eles estão aqui apenas para fins de ilustração.