Avatar billede kartellet Nybegynder
05. februar 2004 - 10:01 Der er 20 kommentarer

Let some time pass

Sidder med et problem!!!! Hvordan styrer jeg tiden i Flash - fx. står i en frame hvor jeg kalder en ekstern film - flash skal så gå videre efter fx. 15 sek???? How to do???
Avatar billede jakwag Nybegynder
05. februar 2004 - 10:23 #1
this.stop();
startTime = getTimer()/1000;
antalSek = 15;

this.onEnterFrame = function(){
if(startTime+antalSek<getTimer()/1000){
this.play();
delete this.onEnterFrame;
}
}

Noget i denne retning burde virke...

: ) Jakob
Avatar billede kartellet Nybegynder
05. februar 2004 - 10:45 #2
Hmmmm.... Ja - jeg glemte at nævne at det er et slideshow jeg laver ;-/ Ergo, jeg er i en slide som skal vente 5 sek. før den går videre til den næste slide.. My bad
Avatar billede jakwag Nybegynder
05. februar 2004 - 10:56 #3
Så kan du osse godt bruge det som jeg har lavet der.

men da det nu er et slideshow, skal du jo bruge den mange gange, og så vil det være bedre at putte det hele ind i en function.

Frame 1:

function pausen(antalSek) {
    this.stop();
    var startTime = getTimer()/1000;
    this.onEnterFrame = function() {
        if (startTime+antalSek<getTimer()/1000) {
            this.play();
            delete this.onEnterFrame;
        }
    };
}

I den frame hvor du vil have en pause:

pausen(2);

(pauser filmen i 2 sek)
Avatar billede mat Nybegynder
05. februar 2004 - 11:09 #4
Hvorfor ikke bruge setInterval, den er da som skabt til formålet? :)
Avatar billede jakwag Nybegynder
05. februar 2004 - 11:21 #5
mat > lyder fornuftigt, men hvordan ville du gøre?

curLine = this;
function pausen(antalSek) {
    curLine.stop();
    var startTime = getTimer()/1000;
    curLine.onEnterFrame = function() {
        if (startTime+antalSek<getTimer()/1000) {
            curLine.play();
            delete curLine.onEnterFrame;
        }
    };
}
setInterval(pausen, 3000,2);

Virker, men den starter med at køre 3 sek stooper i 2 - køre 1 sek stopper 2 - køre 1 sek stopper 2 - osv. Hvordan får man den så til at starte med kun at køre i 1 sek.?

Kan det gøres uden at definere en curLine?
Avatar billede kartellet Nybegynder
05. februar 2004 - 11:23 #6
Du har helt ret... Din første løsning virker faktisk - nu er der bare det problem at de efterfølgende slide's bliver alle påvirket af det - hvilket de ikke skal. Hvordan undgår man så det???
Avatar billede jakwag Nybegynder
05. februar 2004 - 11:27 #7
?? Bruger du den første eller anden løsning?
Avatar billede jakwag Nybegynder
05. februar 2004 - 11:28 #8
mat > Så slap jeg af med curLine, men første problem er der stadig.
Avatar billede jakwag Nybegynder
05. februar 2004 - 11:29 #9
Hvis du bruger den første, er det kun de frames hvor der står:

pausen(15); der bliver påvirket.
Avatar billede mat Nybegynder
05. februar 2004 - 11:29 #10
Jeg ved ikke helt om jeg har misforstået problemstillingen, men det jeg mente var blot noget i denne stil:

function doIt() {
    gotoAndStop(nextFrame());
}
setInterval(doIt, 2000);
Avatar billede jakwag Nybegynder
05. februar 2004 - 11:31 #11
mat > ja, det tænkte jeg godt på. Men det kan man ikke hvis han har lavet nogle transitions imellem slides'ne på samme timeline.
Avatar billede kartellet Nybegynder
05. februar 2004 - 11:33 #12
Problemet er opstået fordi jeg bruger den nye indbyggede funktion (Slideshow) hvilket vil sige at jeg har en ny timeline til hver enkelt slide -
Avatar billede kartellet Nybegynder
05. februar 2004 - 11:39 #13
Hmm... Det er det jo egentligt (kradse-kradse)
Avatar billede mat Nybegynder
05. februar 2004 - 11:44 #14
jagwag > det tror jeg man kan fixe (men jeg har ikke tid til at prøve, jeg skal ud af døren).

Slides? fyforpyffer! ;)

mvh mat
Avatar billede jakwag Nybegynder
05. februar 2004 - 11:50 #15
ahhr.. Jeg forstår. To sek.
Avatar billede jakwag Nybegynder
05. februar 2004 - 11:51 #16
skal de gælde for alle slides?
Avatar billede jakwag Nybegynder
05. februar 2004 - 11:56 #17
Det her kommer til at gælde for alle slides:

this.doIt = function() {
    var screen = null;
    var target = this;
    while ((screen == null) && (target != undefined) && (target != null)) {
        if (target instanceof mx.screens.Screen) {
            screen = target;
        } else {
            target = target._parent;
        }
    }
    if (screen instanceof mx.screens.Slide) {
        screen.rootSlide.currentSlide.gotoNextSlide();
    }
};
setInterval(this, "doIt", 2000);
Avatar billede jakwag Nybegynder
05. februar 2004 - 11:57 #18
øøhhm... hehe.. eller:

this.doIt = function() {
    this.rootSlide.currentSlide.gotoNextSlide();
};
setInterval(this, "doIt", 2000);

Gør det samme..!
Avatar billede kartellet Nybegynder
05. februar 2004 - 11:58 #19
Nej... Jeg tror faktisk jeg selv har løst det nu:

Jeg lægger:
this.stop();
startTime = getTimer()/1000;
antalSek = 12.10;

this.onEnterFrame = function(){
if(startTime+antalSek<getTimer()/1000){
this.play();
delete this.onEnterFrame;
}
}
I den første frame af "Hovedsliden"
var screen = null;
      var target = this;
      while((screen == null) && (target != undefined) && (target != null))
      {
        if(target instanceof mx.screens.Screen)
        {
          screen = target;
        }
        else
        {
          target = target._parent;
        }
      }
      if(screen instanceof mx.screens.Slide)
      {
        screen.rootSlide.currentSlide.gotoNextSlide();
      }

I den næste og et stop i den næste igen - hvirker ikke logisk men det virker rent faktisk..... Nu står jeg kun tilbage med et problem af en anden karakter:

Jeg har brugt fscommands til at køre i fullscreen osv. og jeg vil gerne kunne åbne en txt fill via en knap - jeg har prøvet at bruge getURL men det virker ikke??? Any ideas???
Avatar billede jakwag Nybegynder
05. februar 2004 - 12:16 #20
...fatter ikke en meter af hvordan du har fået det sat sammen, men bare det virker. Ik? ;)

hvis du skal åbne en textfil skal den være defineret sådan her:

&minVar=hejsa&minAndenVar=hej igen&

osv. du kan lave så mange variabler du har lyst til.

I flash skal du skrive:

var myVars = new LoadVar();
myVars.load("dinSti/dintekst.txt");

myVars.onLoad = function(){
ditTextFelt.text = myVars.minVar;
}


: ) Jakob
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester