Как оживить холст Рафаэля? - PullRequest
3 голосов
/ 29 июня 2010

Я использую библиотеку Raphael для создания объектов SVG.

Чтобы инициализировать форму SVG и создать холст для всего внутри, я использовал следующую строку, как указано в документации:

var paper = Raphael(10, 50, 320, 200);

Теперь я хочу анимировать бумагу и все, что внутри нее, точно так же, как я бы анимировал форму, которая была добавлена ​​к бумаге следующим образом:

var firstShape = paper.rect(x, y, width, height);
firstShape.animate({x: 100}, 500, "<");

Когда я пытаюсь что-то похожее с бумагой, например:

paper.animate({x: 100}, 500, "<");

Я получаю ошибку 'paper.animate is not a function'.

Что здесь происходит, и как я могу обойти это?

Ответы [ 3 ]

9 голосов
/ 06 июля 2010

Вы не можете анимировать бумажный объект. У бумаги нет атрибутов для анимации. Но вы можете объединить все свои элементы в set и затем анимировать его.

3 голосов
/ 29 июня 2010

Неправильная последовательность закрывающих скобок

Измените

paper.animate({x: 100, 500, "<")}; 

на

paper.animate({x: 100}, 500, "<"); 

ОБНОВЛЕНИЕ

ИзДокументы, не похоже, что animate может быть вызван непосредственно на paper, но только на под-форме, вырезанной из холста - поэтому firstshape.animate работает

0 голосов
/ 29 июня 2010

Вы не можете анимировать чертежную доску ... только фигуры внутри нее ..

бумага - это ваша чертежная доска .. тогда как firstShape - это фигура, созданная внутри доски ..

...