Cum să întrerupeți în acțiuni, șabloane de site-uri

Dezvoltarea animației flash, de exemplu, atunci când creați bannere, de multe ori există o nevoie de a încetini acest lucru sau că movieclip pentru un timp. Nu opriți complet, și anume, întrerupeți, astfel încât, după un anumit interval, să se efectueze automat.







Efectul dorit poate fi realizat cadre replicate, dar, în primul rând, nu este convenabil, deoarece cronologie devine foarte mult timp și este dificil de a lucra, și în al doilea rând, fiecare fotografie este în valoare de ceva, și în dezvoltarea de bannere fiecare octet contează.

Din păcate, nu există o pauză în bliț, deci trebuie să îl programați singur. În principiu, nimic nu este dificil aici. Să aruncăm o privire la câteva exemple:

În primul cadru al scenei noastre ne definește funcția

MovieClip.prototype.ppause = funcția () // declarația funcției ppause pentru clipul video curent

this.st = getTimer (); // amintiți-vă de ora curentă - să o numim "inițială"
this.onEnterFrame = funcția () // se leagă la evenimentul onEnterFrame, apelează funcția handler, care este definită aici







dacă ((getTimer () - this.st)> (timeout * 1000)) // verificați dacă ora curentă este mai mare decât timpul de pornire și dacă valoarea intervalului global variabil mai specificat (timeout este o variabilă globală)
acest.gotoAndPlay (_currentframe + 1); // mergeți la următorul cadru
ștergeți acest.onEnterFrame; // și zero (eliminați) dispozitivul handler pentru evenimentul onEnterFrame
>

Acum este suficient să introduceți codul funcției noastre apel în cadrul drept și vom obține efectul unei pauze:

timeout = 2; // setați timpul de pauză în secunde
ppause (); // apelați funcția noastră și începeți "numărătoarea inversă" a timpului
stop (); // suspendați clipul video curent

Îmi place mai mult, pentru că nu este nevoie să folosiți o variabilă globală

În mod similar, în primul cadru definim funcția

MovieClip.prototype.ppause = funcție (secunde) // în secunde specifică timpul de pauză în secunde

this.stop (); // opriți videoclipul curent
var pauză = setInterval (funcție (mc)

clearInterval (pauză); // după ce a trecut timpul de pauză și a fost apelată această funcție, vom șterge manualul
mc.play (); // începeți redarea clipului. Folosim obiectul primit prin parametru la apelarea funcției

Apelarea funcției setInterval () pornește procesul de generare a unui eveniment și apelarea unei funcții specificate la o anumită periodicitate.

Intervalul este specificat de parametrul secunde * 1000. * Multiplicatorul 1000 este necesar pentru a converti secundele la milisecunde.

Asta e tot, acum în cadrul drept, sunăm funcția noastră și facem o pauză de 3 secunde.







Articole similare

Trimiteți-le prietenilor: