Grunnleggende syntaks for en animasjon loop?

stemmer
1

Jeg vet at jQuery, for eksempel, kan gjøre animasjon slags. Jeg vet også at i selve kjernen av animasjon, må det meg en slags løkke gjøre animasjonen. Hva er et eksempel på en slik loop?

En fullstendig svar bør ideelt svare på følgende spørsmål:

  • Hva er en grunnleggende syntaks for en effektiv animasjon rekursjon som kan animere en enkelt egenskap ved et bestemt objekt på en gang? Funksjonen bør være i stand til å variere sin målobjekt og egenskapen for gjenstanden.
  • Hvilke argumenter / parametre skal det ta?
  • Hva er et godt utvalg av gjentok loopen? I millisekunder? (Skulle dette være en parameter / argument til funksjonen?)

HUSKE:

  • Svaret er ikke nødvendigvis språkspesifikke, men hvis du skriver på et bestemt språk, spesifiser hvilken.
  • Feilhåndtering er et pluss. {Ingenting er mer irriterende (for vårt formål) enn en animasjon som gjør noe rart, som stopper halvveis gjennom.}

Takk!

Publisert på 07/03/2010 klokken 13:52
kilden bruker
På andre språk...                            


1 svar

stemmer
1

vanligvis (for jQuery minst) dette er ikke gjort i en løkke, men heller i en serie av tilbakeanrop.

pseudojavascript:

function startAnimation(element, endPosition, duration) {
    var startPosition = element.position;
    var startTime = getCurrentTime();
    function animate() {
        var timeElapsed = getCurrentTime() - startTime;
        if (timeElapsed > duration) {
            element.position = endPosition;
            stopTimer();
        } else {
            // interpolate based on time
            element.position = startPosition +
                (endPosition - startPosition) * timeElapsed / duration;
        }
    }
    startRepeatingTimerWithCallbackAndInterval(animate, 1.0 / 30.0);
}

Det er også mulig å bruke gjenstander til å lagre starter data i stedet for nedleggelser.

Dette betyr ikke helt svare på alle punkter i spørsmålet, men det er et utgangspunkt.

Svarte 08/03/2010 kl. 19:54
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more