, skabe et drag og smid mp3 - afspiller i adobe luft,,,,, andel,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, i denne forelæsning, vil vi skabe en luft ud og smid mp3 - afspiller.vi vil arbejde med nativedragmanager klasse til at håndtere hiv og smid den nativewindow klasse for spillelisten, og nogle sqllite opbevarer oplysninger om vores mp3 filer til at bygge en spilleliste.,,,,,,,,,, vær venlig at opgradere din flash spiller,,,,,,,, trin 1: skabe en ny luft dokument, start flash, skabe en nye adobe luft dokument og redde det dokument, som drag_drop_mp3. blp ".,, hvis du allerede har en blank actionscript 3,0 dokument op, bare at gå til kommandoer > luft - anvendelse og montør indstillinger.flash vil give en indberetning, siger, at det vil være rettet mod alle relevante dokumenter til dig.klik på "okay" på en hurtig, flash vil derefter vise anvendelse offentliggøre indstillinger.klik på "okay" igen, og vi er klar til at begynde, trin 2: oprettelse af scenen og dokument klasse, gå til at indsende > nye og skabe en ny actionscript fil.redde tom fil "drag_drop_mp3.".i "egenskaber" panel, resize scenen til 210 × 110 pixels.næste gang i "dokument klasse" tekstboks, type i navn af den nyoprettede actionscript fil at sagen udvidelse.,, trin 3: at skabe spiller baggrund, udvælge rektangel værktøj.i rektangel redskab muligheder for "egenskaber" panel, klik låsen for at åbne afrundede hjørner mulighed.gå 5 for øverste hjørne og 0 for de nederste hjørne.også, at fylde farve, sort og give den streg en farvecccccc.,, tegne et rektangel, der er 200 x 100 dpi.sørg for, at der ikke er valgt.vælg den nederste linje af slagtilfælde og slette det.nu skal der være et rektangel med afrundede hjørner på toppen, square hjørner i bunden og et slagtilfælde, at ruller rundt om toppen af rektangel, men ikke bunden.hvis slagtilfælde hænger ned over bunden af den sorte firkant, blot to klik på slagtilfælde.med slagtilfælde udvalgt, i "egenskaber" panel, klik på "fælles landbrugspolitik" og udvælge "ingen".vælg square og slagtilfælde, så har dem til en x holdning af 5. og et y holdning på 2,5, trin 4: at give baggrund sin ser og føler, at vælge hele rektangel og slagtilfælde, så slå f8 omdanne det til et symbol.gør det til en movieclip og give det et navn, "situation".i "egenskaber" panel, giv den nyoprettede movieclip en instans navn på baggrund.,, double click på movieclip ind i edit tilstand.vælg slagtilfælde og gå til edit > - at skære slagtilfælde.så gå til at indsætte > tidslinje > lag for at skabe et nyt lag.når den nye lag er skabt, gå til edit > lim på plads.dette vil sætte slagtilfælde på toppen.lås, slagtilfælde).næste, skabe et nyt lag og sted mellem slagtilfælde lag og rektangel lag.så vælg et rektangel, gå til edit > en kopi.vælg den tomme midterste lag og "pasta i stedet" en kopi af rektangel.med den nye rektangel, der udvælges, ændre farve til noget lysende (jeg bruge lysegrøn) for at minde os om, at vi er nødt til at ændre farven på et tidspunkt.,, løntrin 5: at fortsætte med den baggrund, at vi nu er nødt til at tilføje endnu et lag ud af grønt rektangel lag.i dette lag, skabe et sort 5 x 5 cirkel med ingen slagtilfælde.tryk på "ctrl-k" til at bringe de tilpasse muligheder.med trin ikon udvalgte, tilpasse den cirkel til den øverste venstre hjørne af movieclips fase.med den cirkel, udvalgte, hold "alt" og trækker en anden instans i cirklen.det cirlce på 10 x og y. 0 for fortsat at trække nye kopier af cirklen, bringe dem 10 pixels adskilt fra hinanden, indtil du når til slutningen af grønt rektangel.,, nu vælge alle de kredse, har "alt" og trække nye eksemplarer.offset - x - position i den nye cirkler ved 5px og give dem et y holdning af 5.fortsætte med at gøre dette eksemplar /pasta teknik, indtil hele grønne movieclip er dækket.fjerne alle kredse, som ikke dækker grønt rektangel.,, udvælger alle kredse i lag.med alle de kredse, der udvælges, skærer dem ud af lag.i grønt rektangel lag "pasta i stedet" alle kredse og deseiect det hele.dette vil vende hele lag i en form.- tryk keyframe i grønt rektangel lag at vælge alt.med alt, der udvælges, hold "skift" på tastaturet og klik på den grønne form.dette vil deseiect grønt rektangel, men kun den sorte cirkler udvalgte.så hit "slet" at slette den sorte cirkler.vi har nu det øverste lag af vores rist, se.se, kan du slukke synligheden af sort lag nedenunder.,, trin 6: færdigbehandling baggrund, det næste skridt er at udvælge grønt rektangel.- grønt rektangel, og "pasta i stedet" på bunden sort firkant lag.når du pasta laget, du skal nok få noget mærkeligt tomme huller.bare udfylde disse huller med sorte med maling spanden værktøj.,,, når alle de sorte huller fyldes igen sørger for, at der ikke er udvalgt, så lag vil vende alt til en form.tryk på den grønne del af lag og slette.nu skal vi have en nederste lag af huller og lag ovenfor skal udfylde. næste, udvælge grønt rektangel i lag over sorte cirkler.i "farve" panel, udvælge fylde farve picker og udvælge de sorte, hvide cirkulære hældning.ændre farven på den hvide ende tile5e5e og give det en alpha med 60%.næste, udvælge de sorte og give det en alpha med 88% og gøre det til en movieclip.giv det et tilfælde af "winback".i "filter" panel, klik plus tegn og give den et nyt fasen filter.giv fasen 1 til sløre x og y, en styrke på 50%, kvalitet af høj, en vinkel på 210 og en afstand af 1.slette alle de tomme lag, låse resten og ud movieclips redigering tilstand. på den fase af den største sag, udvælge movieclip og gå til "filter" panel.i filtre panel, give movieclip en dropshadow.giv den dropshadow 4 for tåge x og y, en styrke på 66%, kvalitet af høj, en vinkel på 90 og en afstand af 4.,, trin 7: bygning den knapper, næste, udvælge rektangel værktøj.i "egenskaber" panel, sørg for, at alle de afrundede hjørner er låst sammen med en værdi af 2, 5.træk et rektangel, der er ca. 28,5 pixels bredde og højde på 19,5 pixel uden slagtilfælde.i "farve" panel, vælges den lineære sort på hvidt hældning.med den form, der udvælges, tryk på "f" på tangenterne ind på "gradient omdanne redskab".drej den gradient 90 grader, så de hvide er øverst i form.tilpasse farve schneider, således at hver farve er cirka halvvejs.nu double-click på den lille sorte firkant og træde ibfbfbf som farve.,, udvælge rektangel form og omdanne det til et movieclip.giv det et navn, "buttonbackground".nu vil skabe et nyt lag over baggrunden lag.drag ud i tre tilfælde af "buttonbackground" movieclip.giv den første x og y holdning 41,2 holdning 76,8.giv den anden x og y 42,8 stilling position 76,8.giv den tredje x og y holdning 72,8 holdning 76,8.dette vil bringe alle de knapper til samme y holdning og lidt til dem. næste med "webdings font, statisk tekst redskab, og på toppen af" buttonbackground "movieclip, give den første symbolet for" tidligere ".den midterste knap er symbolet for "spille" og de sidste knap er symbolet for "næste".udvælgelse af alle nyoprettede tekst kasser, og tryk på "ctrl-b", til den tekst, er opdelt i form.vælg den første "buttonbackground" movieclip og "tidligere" form og omdanne dem til en movieclip.gør det samme for de to andre.giv den tilbage movieclip en instans navn "prevbtn".næste, udvælge movieclip i midten og give det et tilfælde af "playbtn".endelig, udvælge knappen til højre og give det et tilfælde af "nextbtn".,, trin 8: jo knap, næste skridt er at skabe jo knap.vælg rektangel værktøj.giv det en afrundet hjørne af 5. og lave en form, som er 80,5 pixels bredde og 19,9 pixels i højden.giv den form, den samme farve som tidligere skabt fylde knapper.den form for x - og y 108.2 76,8 for vælge form og omdanne det til et movieclip.i den nye movieclip, vælge den type redskab og skabe en dynamisk tekst boks i den form, som siger, "vise liste".gør teksten rubrik 80,3 bredde og 16.2 i højde med x og y holdning på 0,0 holdning 1.8., giv tekstrubrik en instans navn "ty".giv den movieclip en instans navn "playtoggle".,, trin 9: den mængde ål, nu skal vi skabe den mængde ål.vælg den linje, værktøj, sikre, at farven er fastsat til og slagtilfælde tykkelse er 1.tegn en linje, som er 45 pixels høj.vælg den linje og omdanne det til et movieclip med et tilfælde af "volcontrol".næste, double-click den movieclip adgang til dens edit tilstand.kopi /pasta linjen og ændre farve hvid.flyt linjen over 1 pixel.næste udvælge rektangel, værktøj og sikre, at de afrundede hjørner er sat til 0.tegne et rektangel, der er 10 pixels bredde og 5 pixels i højden.den rektangel i - 4, 5 x og y. 0 for udvælge rektangel, omdanne det til et movieclip og give det et tilfælde af "skyder" med "skyder" movieclip udvalgte, gå til "filter" panel og give det en dropshadow med 1 for tåge - x - og y - 66% af sin styrke, en kvalitet af høj, en vinkel på 90 og en afstand af 1.endelig forlade edit tilstand af movieclip og i forbindelse med de vigtigste fil sted "volcontrol" movieclip på 195.6 x og y. 45.4 for, trin 10: færdiggørelsen af det øverste halvdel af app 'en, det næste skridt er at skabe to knapper.den første knap er til minimering af anvendelsen, og for det andet for at lukke det, vælge den rektangel redskab, giver de afrundede hjørner til en værdi af 2, og skabe en square, som er 10,9 pixels.anvende samme fylde miljøer som andre knapper på scenen og omdanne det til et movieclip.drag ud i to tilfælde, for de nye movieclip ind på scenen.med "webdings font, de minimere karakter i en af de movieclips.bryde ud den skrifttype, indtil det bliver en form, udvælgelse af både den nye form og movieclip nedenfor, og omdanne det til et tryk på en knap.giv den nye knap et tilfælde af mini 'en x holdning og en holdning 178.4 y 5.5.gør den samme proces for anden movieclip, kun give det en nær karakter, x og y 190.4 stilling position 5.5. endelig skabe et blankt dynamiske tekstfelt på scenen.giv den textfield en instans navn "tf", en farve iff, en bredde på 188, en højde af 14.1, en skriftstørrelse på 9, en tilpasning af center, en x - værdi på 11 og en y - værdi på 20,3.,, trin 11: oprettelse af play knappen, næste gang vi er vil nedsætte evnen til at aktivere play knappen.to klik på "playbtn" movieclip adgang til dens edit tilstand.sikre, at "spille" karakter er på forskellige lag.gå til ramme 6 på "play" tegn lag og ramte f6, at skabe en ny keyframe.slette "spille" karakter, og ved hjælp af "webdings font, en" stop "karakter.bryde karakter fra hinanden, indtil det bliver en form. næste klik ramme 10 og ramte f5 på begge lag.nu tilføje yderligere to lag over karakter lag.på lag direkte over karakter lag, en keyframe på ramme 6 og udvide det til at ramme 10.klik tilbage til ramme 1 og i "ramme" tekstboks, giv det en etiket på "play".nu klik ramme seks og give det en etiket "stop".endelig er på toppen, de fleste lag, tryk på "fra" på tastaturet til at bringe de aktioner, panel.i aktionerne panel, type:, stop(); nu, vil vi være i stand til at aktivere, frem og tilbage, afhængigt af om en sang spiller eller ej.,, trin 12: jo vindue, lad os skabe en spilleliste vindue.vi vil være i stand til at kontrollere dette vindue fra actionscript.gå til at indsætte > nye symbol.for at skabe et nyt symbol.vælg "film magasin" og give det et navn til "vindue".næste, under "forbindelse" tjek "eksport til actionscript" og give det en klasse navn "vindue".klik på "okay", vil det få en tom scene.,, næste, udvælge rektangel værktøj.sørg for at låse den afrundede hjørner.giv den rektangel top hjørner, en værdi på 0 og bunden hjørner. 5.sørg for at fylde farve er sort og slagtilfælde farve ercccccc.træk et rektangel, der er 200 pixels bred og 400 pixels høj.vælg rektangel og slagtilfælde, konvertere dem til en movieclip.giv den movieclip en instans navn "windowbackground".nu double-click på movieclip adgang til dens udgivelse tilstand.i movieclip, gå gennem trin 3 - 6 igen, før de movieclip svarer til den vigtigste aktør er baggrund movieclip.også, lige som det første, sørg for at give movieclip med fasen en instans navn "winback".,, så nu, at præcisere, i "vindue" klasse, der bør være en movieclip med et tilfælde af "windowbackground".i "windowbackground", der bør være en movieclip med et tilfælde af "winback".endelig bør der ikke være nogen tilfælde af "vindue" klasse på scenen på alle.alt dette vil blive kontrolleret dynamisk. trin 13: at lægge datagrid komponent, skal vi bruge datagrid komponent for at styre vores liste.i "vindue" movieclip klasse, indsættes et nyt lag.fra komponenter panel, trækker i et tilfælde af datagrid.giv det et tilfælde af "grid" og en x holdning på 10,8 og et y holdning af 2.resize den datagrid komponent med en bredde på 178 og en højde på 314.9.endelig, i et nyt lag i nettet komponent, skabe en hvide rektangel af samme størrelse som den datagrid komponent.det er nyttigt med gennemsigtighed, at komponenten er uden at reskin.,, trin 14: den endelige udformning, det sidste, vi har brug for til at tilføje, at vinduet er evnen til at slette punkter fra en liste.hiver en kopi af "vis liste" knappen.giv den movieclip en instans navn "deli", en x - holdning og en holdning på 108,6 y 366.9.du skal ikke bekymre dig om tekstboks siger, "vise liste", vil vi kontrollere, at via actionscript.,, trin 15: dokumentet skelet, åbne blank actionscript fil at vi skabte.her er skelettet i dokumentet klasse, vi vil bruge, pakke (offentlige klasse drag_drop_mp3 udvider sprite {offentlige funktion drag_drop_mp3() {}}} trin 16: importen, her er import udtalelser om, at vi vil bruge..., import fl.controls.datagrid; import fl.data.dataprovider; import flash.data.sqlconnection; import flash.data.sqlstatement; import flash.desktop.clipboard, import flash.desktop.clipboardformats; import flash.desktop.nativedragmanager; import flash.display.movieclip; import flash.display.nativewindow; import flash.display.nativewindowinitoptions; import flash.display.nativewindowsystemchrome; import flash.display.nativewindowtype; import flash.display.simplebuttom; import flash.display.sprite; import flash.display.stage; import flash.display.stagealign; import flash.display.stagescalemode; import flash.events.event; import flash.events.mouseevent; import flash.events.nativedragevent; import flash.events.timerevent; import flash.filesystem.file; import flash.filters.dropshadowfilter; import flash.media.id3info; import flash.media.sound; import flash.media.soundchannel; import flash.media.soundmixer; import flash.media.soundtransform; import flash.net.urlrequest; import flash.text.textfield; import flash. utils. timeren;, skridt. de variabler, og her er en liste over variabler, som vi bruger.vi vil bruge en sqlconnection at give oplysninger om vores mp3 - er i sqllite database.også vi vil bruge et godt formål at spore, der sang, vi er i færd med at spille.der er også en variabel for os at skabe en nativewindow genstand for vores liste.på den måde kan vi flytte vinduet på skærmen, vi ønsker, samt den være uafhængig af de vigtigste vindue.vi skaber også en tracer variabel.dette vil hjælpe med at holde styr på, der sang spiller. private var forbinde: sqlconnection; private var currentsound: sunde; private var yoffset: antal; private var st: soundtransform; private var nw: nativewindow; private var vindue: movieclip; private var spor: int. private var kanal: soundchannel; private var tftext: snor; private var len: int. gå 18: lokalitet funktioner, når app lancerer, det ringer til disse to funktioner: lokalitet og lyttere.den lokalitet funktion kræver database, der oprettes, som skaber de nye vinduer, f.eks.endelig opfordres den funktion, der er buttonmodes og visibilty objekter.efter den lokalitet funktion, lyttere funktion kaldes som tilføjer tilfælde lytter til alt.vigtigst af alt, det kalder nativedragevent.dette giver os mulighed for at trække mp3 fra vores stationære (hvor som helst fra virkelig) til app. offentlige funktion drag_drop_mp3() {init(); listeners();} privat funktion init(): ugyldig (initdb(); buildwindow(); initobjects();} privat funktion listeners(): ugyldig (nærmere. addeventlistener (mouseevent.click, handlewindow); mini. addeventlistener (mouseevent.click, handlewindow); baggrund. addeventlistener (mouseevent.mouse_down, movewindow); playtoggle. addeventlistener (mouseevent.click, toggleplaylist); volcontrol. slider. addeventlistener (mouseevent.mouse_down, sliderdown); prevbtn. addeventlistener (mouseevent.click, buttonclick); playbtn. addeventlistener (mouseevent.click, buttonclick); nextbtn.addeventlistener (mouseevent.click, buttonclick). addeventlistener (nativedragevent.native_drag_enter, dragenter)}, skridt 19: sekundære lokalitet funktioner, her er de funktioner, der vil oprette databasen, egenskaberne af genstande på scenen, og den funktion, der skaber en ny nativewindow., initobject er temmelig selvforklarende.jeg bruger en prøve /fangstopgørelse i tilfælde af databasen er tom.i initdb funktion, databasen fil oprettes, hvis det ikke allerede exsist.det skaber en tabel kaldet "liste" med tre søjler, en for kunstneren, en for den sang, og den sidste er for url af sangen.vi skaber en ny form for "vindue" objekt, der skabte vi tidligere.teksten til sletknappen er ændret.en dropshadow svarer til den øverste del af programmet, er der også.vinduet er chromeless, og det skaber et let type vindue.det betyder, at jo vindue vil ikke have nogen ordning, krom og, når det er åbnet, vil der ikke være nogen mulighed for det i toolbar. privat funktion initobjects(): ugyldig (background.winback.mouseenabled = falske playtoggle.buttonmode = sandt. playtoggle.mousechildren = falske tf.background = sandt. tf.backgroundcolor = 0x000000; tf.mouseenabled = falske tf.text = "drag og smid en mp3 - sag". prevbtn.buttonmode = sandt. playbtn.buttonmode = sandt. nextbtn.buttonmode = sandt; st = nye soundtransform (1, 0); - = nye soundchannel(); prøve (currentsound = ny lyd (nye urlrequest (vindue. net. getitemat (0). beliggenhed)} fangst (ref.: fejl) (//)privat funktion initdb(): ugyldig (var - fil: file = fil. applicationstoragedirectory. resolvepath ("spilleliste. db"); - = nye sqlconnection(); forbinde. åben (fil) var erklæring: sqlstatement = nye sqlstatement(); statement.sqlconnection = forbinde; statement.text = "skabe tabel, hvis der ikke findes liste (kunstner tekst, sang tekst, beliggenhed tekst)" erklæring. execute();} privat funktion buildwindow(): ugyldig (var - nwo: nativewindowinitoptions = nye nativewindowinitoptions(); nwo.maximizable = falske nwo.resizable = falske nwo.transparent = sandt. nwo.systemchrome = nativewindowsystemchrome.none nwo.type = nativewindowtype.lightweight; m = nye nativewindow (nwo) nw.title = "spilleliste."vindue = nye window(); window.deli.ty.text = "fjerne" window.windowbackground.winback.mouseenabled = falske vindue. windowbackground. addeventlistener (mouseevent.mouse_down, movenatwin); nw.stage.stagewidth = vindue. bredde + 10 nw.stage.stageheight = vindue. højde + 10 nw.stage.scalemode = stagescalemode.no_scale; nw.stage.align = stagealign.top_left; window.filters = [nye dropshadowfilter (4, 90, 0x000000. 4, 4 0, 3)] vindue. x = 5; gennemskinneligt. y = 0. nw. fase. addchild (vindue); setcoords(); gennemskinneligt. net. addeventlistener (event.change, gridchange); gennemskinneligt. deli. addeventlistener (mouseevent.click, deliclick); loaddata();}, gå 20: andre funktioner, setcoords funktion er ca.løj da viser jo vindue.den genstarter x - og y - af spilleliste vindue, så er det lettere at finde, når du greb den synlighed.den loaddata funktion udvælger alle oplysninger i databasen og befolker den datagrid komponent, privat funktion setcoords(): ugyldig (nw. x = fase. nativewindow. x, var de: antal = (fase. nativewindow. y + fase. nativewindow. højde) m. y = de;} privat funktion loaddata(): ugyldig (var erklæring: sqlstatement = nye sqlstatement(); statement.sqlconnection = forbinde; statement.text = "vælg * fra liste" erklæring. execute(); prøve (var - dp: dataprovider = nye dataprovider (erklæring. getresult(). data), window.grid.dataprovider = dp;} fangst (ref.: fejl) (//) len = window.grid.length;}, skridt 21: håndtering af hiv og smid den første funktion, dragenter, er når nogen forsøger at trække en fil på scenen.filen kontrol for at se, om udvidelsen, er korrekt.hvis det er, ikke accepteres.hvis man beslutter, at de ikke ønsker at trække en fil, dragexit funktion kaldes.den genstarter den tekst, de vigtigste vindue af ansøgningen.hvis brugeren vælger den rigtige fil format og beslutter, at de ønsker at tilføje den fil på deres liste, dragdrop funktion kaldes og lyden er ladt. privat funktion dragenter (ref.: nativedragevent): ugyldig (. removeeventlistener (nativedragevent.native_drag_enter, dragenter). addeventlistener (nativedragevent.native_drag_drop, dragdrop); denne. addeventlistener (nativedragevent.native_drag_exit, dragexit) var magasin: clipboard = event.clipboard; var genstand: objekt = magasin. getdata (clipboardformats. file_list_format); tftext = tf.text; hvis (formål [0]. forlængelse. tolowercase() = = "mp3 -") (nativedragmanager. acceptdragdrop (dette). tf.text = "giv det til mig, skat..."} andre(tf.text = "eww! få det væk fra mig!";) privat funktion dragexit (ref.: nativedragevent): ugyldig (. addeventlistener (nativedragevent.native_drag_enter, dragenter). removeeventlistener (nativedragevent.native_drag_exit, dragexit); tf.text = tftext;} privat funktion dragdrop (ref.: nativedragevent): ugyldig (. removeeventlistener (nativedragevent.native_drag_exit, dragexit). addeventlistener (nativedragevent.native_drag_enter, dragenter); denne. removeeventlistener (nativedragevent.native_drag_drop, dragdrop) var magasin: clipboard = event.clipboard; var genstand: objekt = magasin. getdata (clipboardformats. file_list_format) var req: urlrequest = nye urlrequest (formål [0]. url) var lyder: sunde = nye sound(); lyd.ddeventlistener (event.complete, soundloaded); lyd. belastning (req); tf.text = "- -"}, skridt 22: isætning af lyd, efter lyden er ladt, tager vi den kunstner og sang oplysninger fra id3info objekt.så sæt den i databasen, samt url - af den sang, vi har ladt.vi må lade den datagrid med nye lyd, data, privat funktion soundloaded (ref.: begivenhed): ugyldig (currentsound = event.target som sunde, var id: id3info = currentsound.id3; var kunstner: string = id.artist; var sang: string = id.songname; var url: string = currentsound.url var erklæring: sqlstatement = nye sqlstatement(); statement.sqlconnection = forbinde; statement.text = "indsætte i liste (kunstner, sang, placering) - værdier (?,??) "; erklæring. parametre [0] = artist; erklæring. parametre [1] = sang; erklæring. parametre [2] = url: erklæring. execute(); loaddata(); window.grid.selectedindex = len-1; røbestof = - 1; tf.text = "tak."og var timer: timer = nye timer (1000) timer. addeventlistener (timerevent.timer, ontimer) timer. start();} privat funktion ontimer (ref.: timerevent): ugyldig (hvis (tf.text = = "tak.")(tf.text = tftext;} var timer: timer = event.target som timer. uret. stop();}, gå 23: samarbejde med knap kontrol, vil vi kontrollere den sang, kontrolknapper med en funktion.vi ser, om "playbtn" var sammen, hvis vi ser, som mærker den knap er i øjeblikket, og hvis currentsound objekt er ikke ugyldig, vi kalder playsong funktion.hvis en af de andre knapper var sammen, vi kalder den relevante funktion. privat funktion buttonclick (ref.: mouseevent): ugyldig (var - mc: movieclip = event.target som movieclip; var snor: string = mc.name; skift (serie) ("playbtn": hvis (mc.currentlabel = = "spille") (prøve (playsong (currentsound. url)} fangst (ref.: fejl) (//) andet (mc. gotoandstop ("play"); soundmixer. stopall();} pause. "nextbtn": playnextsong(); bryde; sag "prevbtn": playprevsong(); pauser), trin 24: den sang funktioner, her er de funktioner for at arbejde med den lyd.både playnextsong og playprevsong funktioner til handlenextprev funktion.denne funktion anvendelser på variabel til at holde styr på, der sang spiller.den handlenextprev funktion, så giver de udvalgte lyd til currentsound objekt.efter det, vi kalder den playsong funktion.i playsong funktion, vi fortæller datagrid at fremhæve, hvilken sang spiller, sætter vi den tekstfelt viser, at kunstneren og sang oplysninger fra databasen, og vi lytter til sound_complete begivenhed.når lyden er fuldstændige, vi læsser den næste sang. privat funktion playnextsong(): ugyldig (hvis (nr. = = len) (nr. = 0) andet (nr. + +) handlenextprev();} privat funktion playprevsong(): ugyldig (hvis (nr. = = 0) (nr. = len;} nr.; handlenextprev();} privat funktion handlenextprev(): ugyldig (var - string: string; prøve (serie = vindue. net. getitemat (spor). adresse currentsound = ny lyd (nye urlrequest (...)); soundmixer. stopall(); playsong (...);} fangst (ref.: fejl) (serie = vindue. net. getitemat (0). adresse currentsound = ny lyd (nye urlrequest (...)); soundmixer.stopall(); playsong (...);}} privat funktion playsong (serie: string): ugyldig (prøve (playbtn. gotoandstop ("stop") til (var - jeg: int. jeg < len; jeg + +) (hvis (string - = = vindue. net. getitemat (i). sted) (nr. = i window.grid.selectedindex = jeg;}} var genstand: objekt = vindue. net. getitemat (spor); hvis (object.artist = = null) (object.artist = ""} hvis (object.song = = null) (object.song = ""} tf.text = objekt. kunstner. "-". objekt. sang, channel = currentsound. play(); kanal. addeventlistener (event.sound_complete, onsoundcomplete)} fangst (ref.: fejl) (//) privat funktion onsoundcomptog (ref.: begivenhed): ugyldig (playnextsong();}, gå 25: volume kontrollen, hvad godt ville en mp3 - afspiller, uden mulighed for at kontrollere mængden?her har vi oprettet slider for at kontrollere den mængde.vi passerer værdien af ål til updatevolume funktion, som ajourfører den mængde, privat funktion sliderdown (ref.: mouseevent): ugyldig (volcontrol. slider. removeeventlistener (mouseevent.mouse_down, sliderdown) fase. addeventlistener (mouseevent.mouse_move, slidermove) fase. addeventlistener (mouseevent.mouse_up, sliderup); yoffset = mousey - begivenhed. mål. y.} privat funktion slidermove (ref.: mouseevent): ugyldig (var - mc: movieclip = volcontrol.slider; mc. y = mousey - yoffset; hvis (mc. y < = 0) (mc. y = 0} andre, hvis (mc. y > = 50) (mc. y = (50)} updatevolume (mc. y); begivenhed. updateafterevent();} privat funktion sliderup (ref.: mouseevent ugyldig (personale):ge. removeeventlistener (mouseevent.mouse_move, slidermove) fase. removeeventlistener (mouseevent.mouse_up, sliderup); volcontrol. slider. addeventlistener (mouseevent.mouse_down, sliderdown)} privat funktion updatevolume (nam: antal) ugyldig (var - vol.: antal = (100 - (nam * 2) /100 soundmixer.soundtransform = st. st.volume = vol.}, gå 26: håndtering af de vigtigste vindue, her er de funktioner for at kontrollere de vigtigste vindue.når musen er nede på "baggrund" movieclip, vi kalder startmove metode i nativewindow objekt.det er grunden til, at vi var nødt til at give vores rist movieclip en instans navn "winback". vi var nødt til at sætte mouseenabled ejendom til falsk, at fjerne enhver uklarhed.hvis vi ikke havde gjort det, ville vi kun have mulighed for at trække på den sorte cirkler, ikke hele movieclip.den handlewindow funktion behandler både reducere og tæt på knapper.også, når vi opfordrer thaose funktion, sætter vi en vis kontrol for vores liste vindue. privat funktion movewindow (ref.: mouseevent): ugyldig (fase. nativewindow. startmove();} privat funktion handlewindow (ref.: mouseevent): ugyldig (hvis (event.target = = nærmere) (fase. nativewindow. close(). nw. close();) andet (fase. nativewindow. minimize(). nw. minimize();}}, skridt 27: den endelige funktioner, her er endelige funktioner for vores spiller.når vi beslutter, at vi ikke længere ønsker en sang på vores liste, kan vi presse sletknappen at fjerne den sang.når vi trykker på "deli" knap, vi kalder deliclick funktion.den funktion, fjerner punkt fra databasen, samt for en anden sang, hvis de slettede sang var den næste sang.den gridchange funktion kaldes, hver gang vi tilføje eller fjerne et produkt fra databasen.på denne måde vil altid blive ajourført liste. endelig er vi nødt til at være i stand til at flytte liste rundt så godt.vi kan ringe til movenatwin funktion, som fungerer på samme måde som de funktioner for at flytte den vigtigste aktør vindue.den liste kan bevæge sig over skærmen uden nogen begrænsninger, der er fastsat i den fase af den vigtigste aktør vindue. privat funktion deliclick (ref.: mouseevent): ugyldig (prøve (var - erklæring: sqlstatement = nye sqlstatement(); statement.sqlconnection = forbinde; statement.text = "slettes fra liste, hvor placering =?"; erklæring. parametre [0] = window.grid.selecteditem.location; var snor: string = window.grid.selecteditem.location; var punkt: int = window.grid.selectedindex; erklæring. execute(); loaddata(); hvis (currentsound.url = = streng) (currentsound = ny lyd (nye urlrequest (vindue. net. getitemat (0). beliggenhed)} len = window.grid.length; prøve (window.grid.selecteditem = vindue. net. getitemat (item-1)} fangst (ref.: fejl) (window.grid.selecteditem = windo