Ich benutze KonvaJs in meinem Projekt. Ich verwende Konva.Group
, um einige Artikel wie Konva.Image
, Konva.Rect
zusammen zu vereinigen. Aber ich bin mit einigen Herausforderungen konfrontiert, während ich sie an einer bestimmten Position unter mousemove
Event positioniere. Ich habe Konva.Group
wie folgt aus:KonvaJS: Gruppenkoordinaten in Bezug auf die Koordinaten der Kinder
var group = new Konva.Group({
x: 0,
y: 0
});
Und ein Bild und Rechteck wie dieses
var border = new Konva.Rect({
x: 115,
y: 35,
width: 116,
height: 128,
fill: 'grey'
});
yoda = new Konva.Image({
x: 120,
y: 40,
image: imageObj,
width: 106,
height: 118
});
Hier ist die plunkr.
Nun, was ich tun möchte, ist die Gruppe an die Position verschieben, wo der Mauszeiger ist. Um dies zu tun dies ich tue:
stage.on('mousemove', function(e) {
var point=stage.getPointerPosition();
//Don't know why this is not puttig the group childern poperly
//group.position(stage.getPointerPosition());
yoda.position(point);
border.position({
x: point.x-5,
y: point.y-5
})
layer.batchDraw();
});
Da hier habe ich nur zwei Element, damit ich sie eins nach dem anderen, aber wenn die Anzahl der Elemente oder Kinder in meiner Gruppe wird erhöht bewegen kann. Ich kann sie nicht alle einzeln bewegen. Ich habe versucht, die gesamte Gruppe zu verschieben, aber sie folgt nicht der Zeigerposition. Ich möchte verstehen, wie ich das Stück so platzieren kann, dass ich einfach group.position(position)
mache und die Schlägerstücke dem Mauszeiger folgen. Und was ist die Beziehung zwischen den Koordinaten der Gruppe und ihren Kindern?
Danke für die Aufklärung. Es hat mir sehr geholfen, Probleme bezüglich der Position zu überwinden. –