Я пытаюсь понять, как наборы работают с преобразованиями. В принципе, я хотел бы иметь набор контейнеров со всеми дочерними элементами, чтобы я мог перемещаться по холсту.raphaeljs, перемещающий набор «контейнер»
Я создал скрипку, чтобы показать, что я имею в виду, это упрощение большого рисунка. http://jsfiddle.net/thibs/Hsvpf/
Я создал 3 квадрата, красный, черный, синий. Каждый из них добавляется в набор, а затем добавляется в основной контейнер (набор). Я добавил контуры, чтобы показать холст и установить.
Красные и черные наборы не имеют трансформаций на них, но синий делает. Синий остается в «контейнере» ... пока контейнер не получит трансформацию.
Почему? Я думал, что преобразования были применены ко всем часам набора ...?
Заранее спасибо
Вот код скрипки:
var paper = Raphael('holder');
var container = paper.set();
paper.rect(0, 0, '100%', '100%').attr({
stroke : 'red'
});
var rectRedSet = paper.set();
var rectRed = paper.rect(100, 10, 20, 20).attr({
'fill' : 'red',
'stroke-opacity' : 0
});
rectRedSet.push(rectRed);
container.push(rectRedSet);
var rectBlackSet = paper.set();
var rectBlack = paper.rect(150, 10, 20, 20).attr({
'fill' : 'black',
'stroke-opacity' : 0
});
rectBlackSet.push(rectBlack);
container.push(rectBlackSet);
var rectBlueSet = paper.set();
rectBlue = paper.rect(0, 0, 20, 20).attr({
'fill' : 'blue',
'stroke-opacity' : 0
});
rectBlueSet.push(rectBlue);
rectBlueSet.transform('t50,150');
container.push(rectBlueSet);
var containerBBox = container.getBBox();
paper.rect(containerBBox.x, containerBBox.y, containerBBox.width, containerBBox.height).attr({
stroke : 'black'
});
//trying to get the entire container and its children to move to 0,0
//commenting out the transform below will keep rectBlue in the container...?
container.transform('t0,0');
OMG, что со всем этим ненужным вложенным 'SET'. Ты сделал мой крик. Что именно вы пытаетесь достичь? ** Скажите мне, что вы хотите делать с вашими прямоугольниками? ** – Brian
LOL не плачь, не стоит ... У меня есть гораздо больший рисунок, скрипка - это упрощенная версия. Short: Я пытаюсь переместить все элементы/наборы как «группу», поэтому я могу поместить «группу» туда, куда ей нужно идти. BTW: container.translate (x, y) вместо преобразования делает то, что мне нужно, но оно устарело. Длинные намотки: Большой чертеж представляет собой ряд динамически сгенерированных элементов. Элементы должны быть в наборах, потому что они являются элементами с текстом в/в них. Я также использую наборы для добавления событий. Тем не менее, один набор трансформируется. Когда этот набор преобразуется, он не перемещается с контейнером – Thibs
Я не думаю, что преобразования распространяются на вложенные множества. – Neil