Avatar billede f5 Nybegynder
27. september 2003 - 17:34 Der er 9 kommentarer og
1 løsning

kopiere et lydobjekt?

HVordan bære jeg mig ad med at kopiere et lydobjekt så jeg får to ens objekter?

Michael
Avatar billede barklund Nybegynder
27. september 2003 - 17:38 #1
Kan man ikke.

Men et lyd er jo også kun udgjort af den timeline og lyden (og diverse attributter derpå) så du kan forholdsvist nemt "kopiere" disse indstillinger ved at lave et helt nyt objekt.

/Barklund
Avatar billede f5 Nybegynder
27. september 2003 - 17:39 #2
Jeg starter lige med at ligge noget kode op og så en forklaring bagefter:

_root.twiceEncounter = _root.finalSoundArray[_root.count].myText;
            _root['soundObject'+_root.count] = new Sound();
            _root['soundObject'+_root.count] = _root.tempSoundArray[i][0];
                        _root['soundObject'+_root.count].nextNumber = Number(_root.count+1);
            _root.tempCheck = true;
Avatar billede f5 Nybegynder
27. september 2003 - 17:45 #3
Det er disse linier som driller mig. Jeg har en henvisninger til nogle lydobjekter gemt i min tempSoundArray. Jeg køre så disse linier igennem en for lykke og laver nye henvisninger med _root['soundObject'+_root.count]: det har noget med den rækkefølge de skal spille i.

Problemet er, at nogle gange skal jeg lave flere henvisninger til samme lydObjekt i _root.tempSoundArray og det der sker er at de til sidst for de samme attributter alle sammen - altså alle dem som henviser til det samme objekt i temoSoundArray.

Hvis jeg altså laver to objekter som hedder

soundObject1 og soundObject2 og som  begge pejer på det samme lydobjekt i tempSoundArray. Jeg giver så hver af disse objecter en variable (nextNumber), men det ender med at de begge for den samme - den som tilhøre det object som sidst blev oprettet.

Giver det mening - kan du hjælpe?

VH
Michael
Avatar billede barklund Nybegynder
27. september 2003 - 17:50 #4
Ja, jeg forstår dit problem og du kan omgå det ved at wrappe det lidt anderledes:

_root.twiceEncounter = _root.finalSoundArray[_root.count].myText;
_root['soundObject'+_root.count] = new Object();
_root['soundObject'+_root.count].sound = _root.tempSoundArray[i][0];
_root['soundObject'+_root.count].nextNumber = Number(_root.count+1);

Altså arrayet indeholder objektet, der indeholder en sound og et nextNumber. Men da jeg ikke helt ved, hvad lydene skal bruge nextNumber til, så kan jeg ikke sige, hvordan det vil kunne virke :)
Avatar billede f5 Nybegynder
27. september 2003 - 17:52 #5
nextNumber er navnet på den lydfilm som den skal spille onSoundComplete - altså den lyd som skal spilles bagefter
Avatar billede barklund Nybegynder
27. september 2003 - 17:54 #6
Oh, ja så er det et problem... Du er nødt til først at putte en onSoundComplete på, når du påbegynder afspilning af den næste lyd. Eller referere til en _global.nextNumber i alle soundComplete's, og så også inkrementere denne. Forstår du?
Avatar billede f5 Nybegynder
27. september 2003 - 17:56 #7
Ja det tror jeg...Jeg vil lige prøve og så venne tilbage :-) tak
Avatar billede f5 Nybegynder
27. september 2003 - 19:17 #8
Fedt, det virker!
Det var fordi jeg skulle ind og sætte onSoundComplete hver gang, også på når de sættes op fra tempSoundArray.

Tak for hjælpen
Kaster du ikke et svar

/Michael
Avatar billede barklund Nybegynder
27. september 2003 - 19:34 #9
Herligt ;)
Avatar billede barklund Nybegynder
28. september 2003 - 16:55 #10
Tark for points :)
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