2011-11-22 13 views
6

Najpierw spójrz:.animate z krzywą

enter image description here

Kot musi przejść do X w krzywej. (patrz strzałka)

Gdy kot uderzy w x, powinien pozostać 10 sekund, a po tym kot powinien wrócić do o, ponownie w zakręcie i powtórzyć.

Próbowałem z tym kodem:

function curve() { 
    $('#cat').delay(10000).animate({top: '-=20',left: '-=20'}, 500, function() { 
     $('#cat').delay(10000).animate({top: '+=20', left: '+=20'}, 500, function() { 
      curve(); 
     }); 
    }); 
} 

curve(); 

Ale kot porusza się tak:

enter image description here

Czy istnieje sposób, aby dostać kota do poruszania się w tego rodzaju krzywej ?

+0

http://stackoverflow.com/questions/2240052/how-would-you-animate-something-so-that-it- follow-a-curve – RightSaidFred

+0

YUI zapewnia również obsługę zakrzywionych animacji. http://developer.yahoo.com/yui/examples/animation/control.html –

Odpowiedz

1

Można użyć łagodnego na to osiągnąć, wykonując ruch związek:

function curve() { 
    $('#cat').delay(10000).animate({top: "+=20px", left: "+=20px"}, { 
     duration: 500, 
     specialEasing: {top: 'easeOutQuad', left: 'easeInQuad'}, 
     complete: function() { 
     $('#cat').animate({top: "-=20px", left: "+=20px"}, { 
      duration: 500, 
      specialEasing: {top: 'easeInQuad', left: 'easeOutQuad'}, 
      complete: function() { 
      // repeat the other way around. 
      }}); 
     } 
    }); 
} 

Działa od jQuery 1.4, zgodnie do jQuery docs, a wymienione zalety wymagają interfejsu jQuery UI (ale tylko modułu Effect Core). Każde wywołanie .animate() stanowi jedną czwartą ścieżki pełnego okręgu, a odwrócenie easeInQuad w porównaniu do easeOutQuad powoduje, że ścieżka wygląda jak ścieżka kołowa zamiast prostej do nowej pozycji.

+0

cześć matehat! Mam ten błąd w konsoli błędów: Błąd: f.easing [e.animatedProperties [this.prop]] nie jest funkcją Plik źródłowy: file: /// C:/Dokumente% 20und% 20Einstellungen/Administrator/Desktop/tyler/js/js/jquery-1.6.4.min.js Linia: 4 – bernte

+0

Prawdopodobnie musisz dołączyć jQuery UI (tylko część Effects Core), to [plik] (https://github.com/jquery/ jquery-ui/blob/master/ui/jquery.effects.core.js) w szczególności. – matehat