2012-09-17 3 views
0

J'ai une tâche intéressante. J'ai besoin de détecter un clic sur la bordure d'une forme dans JS Kinetic. Dans ce cas, la forme est un polygone mais des points bonus si cela fonctionne avec n'importe quelle forme.Kinetic JS - Détection Cliquez sur Bordure de forme

Ma première idée serait de dessiner des lignes autour de la bordure de la forme, peut-être avec une opacité de 1, puis en utilisant leurs événements de clic sur le clic. C'est un peu de PT cependant je pensais que je passerais par ici et voir s'il y avait d'autres idées.

Merci pour l'aide!

Répondre

1

Vous pouvez le faire en combinant deux formes ensemble et les mettre dans un groupe. La première forme aura une bordure et la seconde sans bordure.

 var first_poly = new Kinetic.Polygon({ 
      points: [73, 192, 73, 160, 340, 23, 500, 109, 499, 139, 342, 93], 
      fill: '#00D2FF', 
      stroke: 'black', 
      strokeWidth: 5 
     }); 
     var second_poly = new Kinetic.Polygon({ 
      points: [73, 192, 73, 160, 340, 23, 500, 109, 499, 139, 342, 93], 
      fill: '#00D2FF', 
      stroke: 'black', 
      strokeWidth: 0 
     }); 

     first_poly.on("click",function(){ 
      alert("border clicked"); 
     }) 
     // add the shape to the layer 
     layer.add(first_poly); 
     layer.add(second_poly); 
     stage.add(layer); 
Questions connexes