17. april 2001 - 20:07Der er
18 kommentarer og 1 løsning
Registrering af lyd
Hejsa... Jeg leder efter et actionscript, der undersøger om der er en lyd (baggrundsmusik) der kører, og derefter sender én videre til en speciel frame hvis der er lyd, og til en anden hvis der ikke er lyd.
altså noget á la:
if (der er en lyd der spiller){ gotoandstop(fx frame 5) }else{ gotoandstop (fx frame 6) }
Ovenstående er kun for illustrere hvad jeg mener, så det kan godt være der er nogle fejl, men det er ligemeget!
Jeg har prøvet alle mulige ting, men jeg er bare ikke haj nok til flash :-)...
Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
Du sætter en variable f.eks: \'/:MySound=true\' alle de steder der aktiverer din baggrundsmusik, og sætter samme variable som false: \'/:MySound=false\' de steder hvor lyden deaktiveres. Derefter sætter du i et loop, en action der tjekker om \'Mysound\' henholdsvis er true eller false og eksekverer dit script ud fra det...
Hvor definerer jeg hvad min lyd hedder? Er det bare det navn der står, når man ser i drop-down menuen, under fanen \"sound\"... eller skal jeg give den et navn et eller andet sted?
Og hvad mener du med et loop... kan jeg ikke bare indsætte den action, hvor den nu skal bruges?
Ja, kald den hvad du vil, men det er en god skik at kalde dine variable noget der refererer til handlingen eller objektet... - Det gør det nemmere for dig selv, når du om 3 måneder igen skal til at scripte i samme fil, og falder over dine variable... øøhh \'Onkel_alfred\' ??? - hvad var det lige den styrede osv.osv.... :)
Det var nu også bare for sjov... :-) Hvordan skal jeg helt præcist skrive min variabel? Jeg kan nemlig ikke få det til at virke... jeg skriver
musik=true og så står der under actions : var musik=true
...skal det være /:musik=true? og skal der \"\" uden om?
og kan jeg ikke få den helt præcise action, som jeg skal sætte ind i en frame, uden movie-clip-tingen. Og så vil jeg jeg også gerne lige vide hvad det er _root. er for noget...
_root.MySound eller /:MySound betyder, at jeg refererer til roden af min film, og sætter min variable som global om du vil. I dette tilfælde bruger jeg værdier; \'true\' og \'false\' som er expressions og derfor skal det forekomme uden \"\". Hvis jeg derimod skulle definere et indhold af variablen, ville det forekomme med \"\" Du er velkommen til at sende din .fla fil til mig, så kan jeg fikse det for dig: admin@diktator.dk
Hmm.. jeg har lidt svært ved at gennemskue hvor dit problem skulle ligge. umiddelbart har du fået det du skal bruge. Prøv evt. at paste lidt mere kode, både fra frame og knapper..
Okay... du får den lange version: Jeg har en lyd (musik) on/off knap (i fx frame 1, det er det nu ikke altid) på min side. De r er et lille MC der kører, for at illustrere at musikken kører. Knappen fungerer ved at når man trykker på den, springer man til frame 2, som er magen til frame 1, bortset fra at der er en \"stopallsounds\" funktion. Der er MC\'et stoppet. Når man så i frame 2 trykke på knappen springer man tilbage til frame og musikken begynder igen osv....
Nu forholder det sig sådan at jeg har en gæstebog på min side. Den har en \"hovedside\" hvor man kan skrive og læse indlæg. Den har jeg også 2 udgaver af. En hvor MC\'et kører, og en hvor det ikke gør. Også er det jeg skal bruge et lille script, som registrerer om der er lyd på, og derefter sender brugeren hen til den side, hvor MC\'et kører, hvis der ER lyd på, og hen til den side hvor det står stille, hvis der IKKE er lyd på. Det skal være i en lille \"fordeler\"-frame, som loades lige inden selve \"hovedsiderne\".
Indholdet af min fordeler-frame:
stop (); loadVariables (\"guests.php\", \"\"); fra = \"\"; hilsen = \"\"; if (_root.musik eq true) { with (_root) { gotoAndStop(47); } } else { with (_root) { gotoAndStop(49); } }
(Det øverste er noget der har med min gæstebog at gøre)
Prøv at sætte de her variable i dit Musik On/Off MC til:
Frame 1) _root.Musik=true
Frame 2) _root.Musik=false
Så skulle ovenstående script gerne virke. Vær opmærksom på det henviser via _root, til frame 47 og 49 i din maintimeline, og ikke i noget MC. Hvis du skal henvise til et MC, skal du pege ind på dit instance name....f.eks:
if (_root.musik eq true) { with (_root.MyGuestBook) { gotoAndStop(47); }
Juhuuu! Så virker det. Jeg kiggede lidt på ovenstående script og undret mig lidt over de der \"with\"-ting, så jeg prøvede at fjerne dem. Det hjalp! Så det script der virker hos mig ser sådan her ud: stop (); loadVariables (\"guests.php\", \"\"); fra = \"\"; hilsen = \"\"; if (_root.musik eq true) { gotoAndStop (47); } else { gotoAndPlay (49); }
Altså ikke noget \"with (_root) {\"
Tak for hjælpen D!ktator, 30 point på vej til dig! Jeg lukker og slukker... /SouledOut
\'With\' og/eller \'TellTarget\' burde nu også virke hvis du henviser til din mainTimeline... men hvis du allerede befinder dig i et MC, kan det være derfor ... ;-)
Det gør jeg ikke... så meget ved jeg da. Det, der skete med With(_root) var at jeg blev smidt tilbage til min intro... hvor for ved jeg ikke, men det er også lige meget nu :-)
/SouledOut
Synes godt om
Ny brugerNybegynder
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.