Play / Pause όλα τα movieclips μιας scene

Λύσεις προβλημάτων για το δημοφιλές πρόγραμμα κατασκευής παρουσιάσεων στο διαδίκτυο.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Expl0it
Honorary Member
Δημοσιεύσεις: 2364
Εγγραφή: 25 Αύγ 2003 23:24
Τοποθεσία: home/sweet/home

Play / Pause όλα τα movieclips μιας scene

Δημοσίευση από Expl0it » 30 Μαρ 2004 02:27

Χρειάζεστε να κάνετε pause ή play όλα τα mc σε ένα συγκεκριμένο target (π.χ _root), απλά χρησιμοποιώντας μια μεταβλητή (variable) ? Με τον παρακάτω κώδικα, θα πρέπει απλά να ορίσετε μια μεταβλητή με όνομα "pausa" σε true ή false για να σταματάει (stop) ή να παίζει (play) όλα τα mc που υπάρχουν στο συγκεκριμένο scene !

*mc : Movie Clips

Κώδικας: Επιλογή όλων

this.watch('pausa', onSetPause)

function onSetPause(prop, oldid, newid){
 if(newid){
  stopClip(this)
 } else {
  playClip(this)
 }
 return newid
}

function stopClip(mc){
 mc.stop();
 trace(mc)
 for(var a in mc){
  if(typeof mc[a] == 'movieclip'){
   trace('stopping ' + a)
   mc[a].stop()
   arguments.callee(mc[a])
  }
 }
}


function playClip(mc){
 mc.play();
 trace(mc)
 for(var a in mc){
  if(typeof mc[a] == 'movieclip'){
   trace('playing ' + a)
   mc[a].play()
   arguments.callee(mc[a])
  }
 }
}

Hi, you could shorten a bit with ;


this.watch("pauseClip", onSetPause, this) ;

function onSetPause(prop, oldVal, newVal, timeline)
{
        var timelineControl = newVal == true ? "stop" : "play" ;
        setTimelineControl(timeline, timelineControl) ;
        return newVal ;
}
function setTimelineControl(_mc, timelineControl)
{
        for(var clip in _mc){
                if(_mc[clip] instanceof MovieClip){
                        _mc[clip][timelineControl]() ;
                        _mc[clip].setTimelineControl(this[_mc]) ;
                }
        }
}

Απάντηση

Επιστροφή στο “Flash γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες