J'ai un ensemble de points affichés sur la toile (bits de clé de code tirée):Faites glisser un point en flash, et ont des lignes, reliées autres points de déplacer
// Drop points based on x y coords
for (var i = 0; i < 50; i++) {
itemPoint[i] = new mcDot();
itemPoint[i].x = 500*Math.random();
itemPoint[i].y = 500*Math.random();
// Set up drag & drop
initDragger(itemPoint[i]);
itemPoint[i].buttonMode = true;
addChild(itemPoint[i]);
}
Je puis relier les points - un dot pourrait avoir 50 connexions
// Draw connections
for (i = 0; i < 50; i++) {
for (j = 0; j < 50; j++) {
// Is there a connection in the matrix?
if (connectMatrix[i][j] > 0) {
itemConnect[k] = new Shape();
itemConnect[k].graphics.lineStyle(1, 0x000000);
// Connect the line to the dots
itemConnect[k].graphics.moveTo(itemPoint[i].x, itemPoint[i].y);
itemConnect[k].graphics.lineTo(itemPoint[j].x, itemPoint[j].y);
addChild(itemConnect[k++]);
}
}
}
J'ai glisser-déposer de travail pour le point:
/** Drag and drop functions */
function initDragger(mc:MovieClip):void {
mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
mc.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
function mouseDownHandler(e:MouseEvent):void {
e.currentTarget.startDrag();
}
function mouseUpHandler(e:MouseEvent):void {
e.currentTarget.stopDrag();
}
Cependant, je suis vraiment s Tuck sur la façon de redessiner les lignes que je déplace un point. De plus, il pourrait y avoir beaucoup de lignes connectées à n'importe quel point. Dois-je en quelque sorte enregistrer quelles lignes sont connectées à quel point? Comment puis-je redessiner les lignes en fonction de cela?
Merci