Avatar billede donleavy Nybegynder
08. oktober 2003 - 20:38 Der er 34 kommentarer

knap afspiller 2 lyde i stedet for en

Hej alle.

Jeg er ved at lave en Flash-animation, der indeholder en loopet animation. Der er 4 knapper. Knap 1 starter nr. 1 lyd / knap 2 muter nr. 1 lyd / knap 3 starter nr. 2 lyd / knap 4 muter nr. 2 lyd.

Lydene sidder på 4 keyframes, så når man starter en lyd, siger den kun noget når den passerer keyframen, som lyden "hænger på"

PROBLEMET er, at når jeg én gang har startet den første lyd og mutet den igen og så starter nr. 2 lyd, afspilles også lyd 1. Aaargh!

Knappen til at starte lyden (eller få lyden på keyframen inde i animationen til at sige noget) ser sådan ud:

on (release) {

    Behaviors.Sound.bass.setVolume(100);
   
    //Play Internal Sound Behavior
    if(_global.Behaviors == null)_global.Behaviors = {};
    if(_global.Behaviors.Sound == null)_global.Behaviors.Sound = {};
    if(typeof this.createEmptyMovieClip == 'undefined'){
        this._parent.createEmptyMovieClip('BS_bass',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
        _global.Behaviors.Sound.bass = new Sound(this._parent.BS_bass);
    } else {
        this.createEmptyMovieClip('_bass_',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
        _global.Behaviors.Sound.bass = new Sound(this.BS_bass);
    }
    Behaviors.Sound.bass.attachSound("bass");
    if (true) {
        Behaviors.Sound.bass.start(0,1);
    }
    //End Behavior

}

HJÆLP. Jeg håber I har en god idé !!

  /Anders
Avatar billede barklund Nybegynder
08. oktober 2003 - 20:42 #1
Jeg fatter ikke helt hvad alt ovenstående script skal til for. Har du selv lavet det eller har du snippet det et eller andet sted? Hvor mange forskellige lyde har du?
Avatar billede donleavy Nybegynder
08. oktober 2003 - 20:48 #2
sådan blev det bare, da jeg kørte en loadsound-behaviour...
Der er (indtil videre) to lyde...
Avatar billede donleavy Nybegynder
08. oktober 2003 - 20:50 #3
På de keyframes hvor lyden bliver spillet (når man har loadet den ved at trykke på knappen) står der blot:

// Play Sound Behavior
    Behaviors.Sound.bass.start(0,1);
    // End Play Sound Behavior
Avatar billede barklund Nybegynder
08. oktober 2003 - 20:50 #4
Så starter du jo også to steder... :)
Avatar billede donleavy Nybegynder
08. oktober 2003 - 20:52 #5
hva mener du ?
Avatar billede donleavy Nybegynder
08. oktober 2003 - 20:53 #6
hvis ikke man trykker på knappen, sker der jo ikke noget.

Jeg har også prøvet at attache lyden i starten, men der sker stadig ikke noget, med mindre jeg lader knappen indeholde loadsound-koden
Avatar billede donleavy Nybegynder
08. oktober 2003 - 20:56 #7
den 2. knap muter nr. 1 lyd, men den bliver spillet alligevel, når jeg trykker på knappen, der blot burde loade nr. 2 lyd
Avatar billede barklund Nybegynder
08. oktober 2003 - 20:59 #8
Jeg ville nok droppe behaviours og lave det selv:

i din frame attacher du dine lyde:

lyd1 = new Sound(this.createEmptyMovieClip("lyd1", 1));
lyd1.attachSound("lyd1");
lyd2 = new Sound(this.createEmptyMovieClip("lyd2", 2));
lyd2.attachSound("lyd2");

Og så på knapper starter og stoppe disse to
Avatar billede donleavy Nybegynder
08. oktober 2003 - 21:06 #9
skal det sættes ind i starten ?
Eller på hver af de frames, jeg vil have til at sige noget ?

Pointen er, at der er en lyd HVER gang en fod i animationen rammer gulvet.
Brugeren af sitet skal så kunne trykke på en knap, så der kommer en ny lyd, når foden rammer gulvet.

Lydene er korte, og de skal ikke bare starte vilkårligt i filmen, men HVER gang foden rammer gulvet (dvs. på 3 keyframes i løbet af filmen)
Avatar billede donleavy Nybegynder
08. oktober 2003 - 21:07 #10
hvad skal der i øvrigt stå på knapperne der starter og slutter ?
Avatar billede donleavy Nybegynder
08. oktober 2003 - 21:08 #11
Problemet er vist (hvad ved jeg ?)
at selv om man laver knapper, der stopper lyden,
starter den jo bare igen, når filmen når til næste keyframe,
hvor lyden igen er sat ind, så det siger noget når foden rammer gulvet...
Avatar billede barklund Nybegynder
08. oktober 2003 - 21:15 #12
Men er det den samme lyd eller forskellige lyde?
Avatar billede donleavy Nybegynder
08. oktober 2003 - 21:18 #13
de 3 gange foden rammer gulvet, er det den samme lyd.
Når så brugeren beslutter, at han ikke synes det er en god lyd, kan han skifte den til en anden lyd, som så bliver gentaget de 3 gange foden rammer gulvet.
Avatar billede donleavy Nybegynder
08. oktober 2003 - 21:19 #14
brugeren skal bare kunne bestemme, at det er en bestemt lyd, der bliver afspillet, når foden rammer gulvet...
Avatar billede barklund Nybegynder
08. oktober 2003 - 21:29 #15
Ah, hvor mange lyde kan man vælge imellem og kan man også helt slå dem fra?
Avatar billede donleavy Nybegynder
08. oktober 2003 - 21:30 #16
man kan vælge mellem 2, og ja man skal kunne slå dem helt fra. Jeg kunne bare ikke finde ud af det, så jeg lavede to knapper, der sætter lyden til 0.
Det står øverst i spørgsmålet :-)
Avatar billede barklund Nybegynder
08. oktober 2003 - 21:33 #17
I din frame skriver du:

minLyd = new Sound(this);

På knap 1 skriver du:

on (release) {
    minLyd.attachSound("lyd1");
}

Knap 2:

on (release) {
    minLyd.attachSound("lyd2");
}

Sluk knap:

on (release) {
    minLyd = new Sound(this);
}

Og i dine frames med lyden:

minLyd.start();
Avatar billede donleavy Nybegynder
08. oktober 2003 - 21:44 #18
skal jeg skrive

minLyd = new Sound(this);

i første frame i et eller andet layer ?

På slukknappen: Skal der ikke stå stop eller lignende ?
Avatar billede barklund Nybegynder
08. oktober 2003 - 21:49 #19
Jo du kan godt skrive minLyd.stop() først på stop knappen, men du sagde at lydene var meget korte i forvejen :)
Avatar billede donleavy Nybegynder
08. oktober 2003 - 21:58 #20
mjaeh, jeg er ikke sikker på, at du forstår, hvad jeg mener....
I filmen slår foden mod gulvet tre gange. Hvis der er den samme lyd på 3 keyframes i filmen, når forden rammer gulvet, hjælper det jo ikke at lave en stop-knap, sådan som du foreslår det. Lyden vil vel stadig blive gentaget, når filmen passerer de 3 keyframes, som indeholder lyden...
Avatar billede donleavy Nybegynder
08. oktober 2003 - 22:18 #21
prøv lige at se swf'en. www.whop.dk/flash/8.swf
Bare glem designet, det er bare for at teste...

Hvis du trykker på den første BLÅ knap, sætter den en lyd i gang.
Hvis du trykker på den anden BLÅ knap, muter den lyden.
Hvis du trykker på den første LYSERØDE knap, sætter den en lyd i gang.
Hvis du trykker på den anden LYSERØDE knap, muter den lyden.

Men hvis du NU trykker på den første BLÅ knap, siger den både den første og anden lyd. Det er problemet.
Avatar billede barklund Nybegynder
08. oktober 2003 - 22:51 #22
Jeg tror det vil hjælpe, hvis du bare helt generelt forklarer, hvad man skal kunne og ikke hvordan :)
Avatar billede donleavy Nybegynder
08. oktober 2003 - 22:54 #23
det troede jeg, jeg havde gjort... :-)

Brugeren skal kunne bestemme hvilken lyd, der automatisk bliver afspillet, når foden rammer gulvet i animationen.
Avatar billede barklund Nybegynder
08. oktober 2003 - 23:04 #24
Og lige præcis det kan du bruge mit lille script ovenover til.
Avatar billede barklund Nybegynder
08. oktober 2003 - 23:16 #25
Se et lille eksempel her:

http://actionscript.dk/eksperten/lydtest
Avatar billede donleavy Nybegynder
08. oktober 2003 - 23:39 #26
Det ser lovende ud.
Ser på det i morgen, og giver point i morgen.

Foreløbig MANGE tak for hjælpen!
Avatar billede donleavy Nybegynder
08. oktober 2003 - 23:45 #27
Kom lige til at tænke på:

Stopper din knap ikke al lyd på siden ?
Hvad nu hvis der skal være noget baggrundsmusik og andre lyde ?
Avatar billede barklund Nybegynder
09. oktober 2003 - 00:07 #28
Nej det kan du tro, at den ikke gør - det ville jo være dumt :)
Avatar billede donleavy Nybegynder
09. oktober 2003 - 00:30 #29
hmm, jeg kan slet ikke få det til at virke. Aargh. Undskyld min uvidenhed. Jeg kan ikke loade din flash ind i Flash MX 2004 v.7.

Jeg prøvede at sætte

bass = new Sound(this);

ind på første keyframe i layeret "lyd"
Dernæst har jeg sat

bass.start();

ind på den keyframe i layeret "billeder" hvor foden rammer gulvet første gang.
Dernæst har jeg sat

on (release) {
    bass.attachSound("a_bass2.wav");
}

ind på knappen.

Men der sker absolut ingenting, når jeg trykker på knappen i swf'en...
Avatar billede barklund Nybegynder
09. oktober 2003 - 07:18 #30
Har du sat linkage på din lyd? Find den i library, højreklik og tryk linkage -> export for actionscript
Avatar billede donleavy Nybegynder
09. oktober 2003 - 10:19 #31
Ja, der er linkage på. Øv, hvorfor virker lortet ikke...

Prøv lige at se www.itu.dk/people/boerup/flash
Der kan du se, hvordan min flash-fil ser ud.
Jeg må jo have gjort et eller andet galt. for der
kommer ingen lyd ud.
Avatar billede donleavy Nybegynder
09. oktober 2003 - 14:52 #32
NU har jeg fundet ud af, hvad jeg har gjort galt.
bass.attachSound("a_bass2.wav"); skulle selvfølgelig hedde:
bass.attachSound("bass_lyd"); - altså ikke filnavnet, men exportnavnet.

NU har jeg til gengæld et andet problem. Når filmen looper holder lydene også op med at sige noget.

Forslag ?

Jeg håber, du stadig vil hjælpe...
Avatar billede donleavy Nybegynder
30. januar 2007 - 18:22 #33
Hey Barklund

Lav lige et svar, så du kan få point.
Avatar billede barklund Nybegynder
31. januar 2007 - 08:41 #34
Oki :)

Lidt forsinket... :)
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