0
많은 변화 단계가있는 애니메이션을 만들려고합니다. Snap.animation()이이를 허용합니까, 아니면 css3 애니메이션을 사용해야합니까? 문서가 여전히 누락 된 것처럼 느낍니다.스냅 svg Snap.animation() 함수
많은 변화 단계가있는 애니메이션을 만들려고합니다. Snap.animation()이이를 허용합니까, 아니면 css3 애니메이션을 사용해야합니까? 문서가 여전히 누락 된 것처럼 느낍니다.스냅 svg Snap.animation() 함수
가장 좋은 방법은 모든 코드를 코딩 할 필요없이 애니메이션을 차례로 가져 오는 시퀀싱 기능 또는 플러그인을 만드는 것입니다. 예를 들어 이들을 배열로 전달할 수 있습니다. 이전에 수행 한 코드는 다음과 같습니다. 배열
, 당신EL .. 그 목적 건네 요소가
애니메이션에 작용 : 수행 애니메이션
(예를 포함하는 오브젝트를 애니메이션 속성) 지속 시간 : 기간
완화 : 이징
startFunc : 선택적 콜백 각 '프레임'에 대한 실행합니다.
지연과 같은 것을 원한다면 공백 프레임을 포함시킬 수도 있습니다 (동일한 값으로 속성을 애니메이션하거나 존재하지 않거나 중요하지 않은 프레임을 포함 할 수 있음). 당신이 시퀀스 애니메이션을 의미하는 경우
function nextFrame (frameArray, whichFrame) {
if(whichFrame >= frameArray.length) { return }
if(typeof frameArray[ whichFrame ].startFunc === 'function') {
frameArray[ whichFrame ].startFunc.call(frameArray[ whichFrame ].el)
};
frameArray[ whichFrame ].el.animate( frameArray[ whichFrame ].animation,
frameArray[ whichFrame ].dur,
frameArray[ whichFrame ].easing,
nextFrame.bind(null, frameArray, whichFrame + 1)
);
}
// Example of use
var r = s.rect(100,100,100,100,20,20).attr({ stroke: '#123456', 'strokeWidth': 20, fill: 'red' });
var c = s.circle(50,50,50).attr({ stroke: '#123456', 'strokeWidth': 20, fill: 'blue' });
var g = s.group(r,c);
var myFrames = [
{ el: g, animation: { transform: 'r360,150,150' }, dur: 1000, easing: mina.bounce },
{ el: r, animation: { transform: 't100,-100s2,3', fill: 'green' }, dur: 1000, easing: mina.bounce },
{ el: r, animation: { transform: 't100,100' }, dur: 1000, easing: mina.bounce, startFunc: sayHello },
{ el: g, animation: { transform: 's2,1' }, dur: 1000, easing: mina.bounce },
{ el: r, animation: { transform: 's1,2' }, dur: 1000, easing: mina.bounce },
{ el: c, animation: { transform: 's1,1' }, dur: 1000, easing: mina.bounce }];
nextFrame(myFrames, 0);
function sayHello() {
alert('hello, this is me ==> ' + this);
}
, 당신은이 작업을 수행하지만, 별도의 프로그램의 비트를 필요로 할 수 있습니다. 예를 들면 다음과 같습니다. http://svg.dabbles.info/snaptut-animateframe – Ian
감사합니다. 친구가이게 내가 찾고있는 것입니다. 그러나 애니메이션에 많은 스테이지가 포함되어 있다면 다소 지루할 수 있습니다. ..... 잠시 동안이 솔루션을 계속 사용해야 할 것입니다. –
스테이지로 무엇을 의미하는지 명확히 할 수 있습니까? 위의 스크립트는 그렇지 않습니다. (또는 그것은 향상 될 수있는 지루한)일까요? 이해가된다면 적응할 수 있습니다. – Ian