Welkom!

Deel je kennis met anderen in deze Flashgemeenschap!
Gebruikersnaam:
Wachtwoord:
Wachtwoord opslaan?
Wachtwoord vergeten?

ASD / Andere handige scripts

playback functies voor mc/swf/avi/mov/flv
11045 keer gelezen
(May 17, 2004)
Waardering: 9 keer gestemd 
 4.2 van de 5

Dit zijn functies die je kunt gebruiken om een mc, swf, avi, mov of flv mee te besturen. Het ondersteund: normaal afspelen, omgekeerd afspelen, pauzeren, stoppen, versneld afspelen en versneld terug afspelen.

Je kunt de functies gemakkelijk aan knoppen toekennen om even snel iets leuks in elkaar te knallen. Have fun!

(demo included)

- Mediamonkey -

Geen zin om je eigen code te schrijven? Geen probleem: ik heb net even wat in elkaar gevlochten:

/* hier moet je zelf de fps van je swf goed invullen!!! */
var fps = 30;
 
/* vervangt de standaard play() van een movieclip */
function playForward(mc) {
 clean(mc);
 mc.play();
}
 
/* functie om terug af te spelen */
function playBackward(mc, halt) {
 mc.onEnterFrame = function() {
  if (this._currentframe == 1) {
   (halt) ? delete this.onEnterFrame : this.gotoAndStop(this._totalframes);
  }
  clearInterval(_root.ff);
  clearInterval(_root.fb);
  this.prevFrame();
 }
}
 
/* "stopt" (pauzeert) de mc/swf */
function pauze(mc) {
 clean(mc);
 mc.stop();
}
 
/* stopt de mc echt, en gaat terug naar het 1e frame */
function stoppen(mc) {
 clean(mc);
 mc.gotoAndStop(1);
}
 
/* deze functie speelt de mc versneld af
gebruik 'speed' als factor: bv 2 voor 2x zo snel, of 0.5 voor de helft zo snel
gebruik 'halt' als boolean om de animatie wel of niet te loopen */

function fastForward(mc, speed, halt) {
 clean(mc);
 var time = 1000/fps/speed;
 ff = setInterval( function() {
  mc.nextFrame();
  if (mc._currentframe == mc._totalframes) {
   (halt) ? clearInterval(ff) : mc.gotoAndStop(1);
  }
 }, time);
}
 
/* deze functie speelt de mc versneld terug af
gebruik 'speed' als factor: bv 2 voor 2x zo snel, of 0.5 voor de helft zo snel
gebruik 'halt' als boolean om de animatie wel of niet te loopen */

function fastBackward(mc, speed, halt) {
 clean(mc);
 var time = 1000/fps/speed;
 fb = setInterval( function() {
  mc.prevFrame();
  if (mc._currentframe == 1) {
   (halt) ? clearInterval(fb) : mc.gotoAndStop(mc._totalframes);
  }
 }, time);
}
 
/* verwijdert alle intervallen en de onEnterFrame, als die wordt gebruikt */
function clean(mc) {
 if (mc.onEnterFrame) mc.onEnterFrame = null;
if (ff) clearInterval(ff);
if (fb) clearInterval(fb);
}


 
Als je die interval geen mooie oplossing vind kun je ook een functie bedenken die berekent op welke frame de mc/swf moet staan en er direct naar verwijst.

Om nu de code te gebruiken kun je een knop maken en deze code op de knop zetten:

on(release) {
 playBackward(animatie, false);
}

Klik hier voor een demo.

Hopelijk doe ik jullie een plezier met de code. Gebruik 'm, jat 'm, haal 'm uit elkaar en maak je eigen versie, whatever

- Mediamonkey -

Geef hier je waardering: Matig 1 2 3 4 5 Geweldig!
  Waardering:
Download ( meld je eerst aan om te kunnen downloaden! )