Avatar billede pollas Nybegynder
10. november 2002 - 06:09 Der er 10 kommentarer og
1 løsning

Lydeffekter, sync

Jeg har et lille projekt, hvor jeg vil hive en kort mp3 ind (ca. 1 min), og have enkelte tekster (tweenede) til at dukke op på bestemte tidspunkter ift. sangen.

Selve import/trig animationen-konceptet burde ikke være et problem, men hvordan gøres det smartest? Mine tekstanimationer ligger som selvstændige movieclips med en stop(); i frame 1 , og jeg havde egentlig forestillet mig blot at lave en scene med en enkelt frame, hvor mp3'en blev scriptet ind sammen med de forskellige tekstmovieclips.

_root.attachmovie("txt_21","tclip", 10);

I samme script kunne jeg så have kode i stil med:

this.onEnterFrame = function () {
    if (_root.njSound.position/1000 >= 5.5) {
        this.tclip.gotoAndPlay(2)
        }
    }

Men vil det overhovedet kunne lade sig gøre - og er det den smarteste måde? Vil movieclippet kunne køre, når jeg kun har en enkelt frame?

Håber på lidt hjælp.

/Anders
Avatar billede pollas Nybegynder
10. november 2002 - 06:22 #1
En lille update

Jeg har lavet følgende:

_root.attachmovie("txt_21","tclip", 10);
this.onEnterFrame = function () {
    this.tclip.gotoAndStop(1)
    if (_root.njSound.position/1000 >= 5.9) {
        this.tclip.gotoAndPlay("gotext")
        }
    }

njSound er loadet og kører fint - txt_21 er et 6 frame mc med en tom førsteframe, og en animation fra frame 2-6.

Det hele kører for så vidt fint - lyd fra starten, og visning af mc på slaget 5.9 - men animationen vises ikke. Frame to af movieclippet vises, men står stille - hvad har jeg misset?

/Anders
Avatar billede mat Nybegynder
10. november 2002 - 12:51 #2
du beder jo dit movieclip om at gå til frame 1 og stoppe konstant, samtidig med at du beder det om at gå til "gotext" når conditionen er opfyldt?!?
Avatar billede pollas Nybegynder
10. november 2002 - 16:16 #3
Heh, det har du jo ret i... Prøver lige at hive gotoandstop ud af funktionen...
Avatar billede pollas Nybegynder
10. november 2002 - 17:48 #4
Hmm...kan godt se, hvad du mener, og har fjernet gotoandstop. Men er det rigtigt forstået, at den definerede funktion, hvor jeg tjekker, om de 5.9 sekunder er gået, kører i løkke, og derfor - når først de 5.9 sek. er gået - altid vil være opfyldt, og derforkøre fra frame to i mit mc?

Hvordan klarer jeg det - kun at køre dette mc een gang?

Skal det hele laves på en anden måde?
Avatar billede mat Nybegynder
10. november 2002 - 18:59 #5
ja det er helt korrekt at det er sådan løkken skal tolkes.

Nu gætter jeg lige her (gider ikke lave testfiler), men du kunne prøve med  if (_root.njSound.position/1000 == 5.9)  ....eller noget i denne retning:

_root.attachmovie("txt_21","tclip", 10);
tclip.onEnterFrame = function () {
    this.gotoAndStop(1);
    if (_root.njSound.position/1000 >= 5.9) {
        this.gotoAndPlay("gotext")
        delete this.onEnterFrame();
        }
    }
Avatar billede mat Nybegynder
10. november 2002 - 19:07 #6
du skal lige fjerne parenteserne i denne linie:

delete this.onEnterFrame;
Avatar billede barklund Nybegynder
10. november 2002 - 20:00 #7
Sidstenævnte metode er helt korrekt og klart den smarteste! Ville jeg bare lige sige :o)
Avatar billede mat Nybegynder
10. november 2002 - 20:08 #8
Kanon :)
Avatar billede pollas Nybegynder
10. november 2002 - 20:36 #9
Hov, hov - det er mig, der siger Kanon her :)  Det virker, jo - mange tak!
Avatar billede pollas Nybegynder
10. november 2002 - 20:36 #10
Oh, og der må svares :)
Avatar billede mat Nybegynder
10. november 2002 - 20:44 #11
okidoki :)
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