bygge en skik timer og fremskridt meter i as3

, opbygge en skik timer og fremskridt meter i as3,,,,, andel,,,,,,,, 3,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss., i denne lektion, jeg vil vise, hvordan man laver en skik timer, som støtter tæller op eller ned til en bestemt tid,.,,,, endelige resultat forpremiere i demo nedenfor, vil du se tiden tæller ned fra 13, et fremskridt, bar at spor udvikling af timer og aflyse knap. når nedtællingen fra 13 er færdig, eller du trykke aflyse knap, en film magasin objektglas fra højre.denne film magasin lader dig komme ind i en ønskede tid, og afgør, om du har tid til at tælle op eller ned.et fremskridt, bar vil så være fastgjort og skal følge fremskridt for tiden.det sidste, du trykker på den knap eller aflyse, du vil være i stand til at træde ind i en ny tid.,, trin 1: kodning sædvane timer klasse, vi vil skrive den skik timer klasse, der vil føre vores største film. gå til fil > nye og vælge actionscript 3. klasse.gem denne sag som "counttimer. som".,, trin 2: import klasser, her er vi åbne pakken og importere de klasser, at vi bliver nødt til at skrive denne klasse. føje følgende til "counttimer. som" pakke (//for timeren import flash.utils.timer; import flash.events.timerevent; ////////vi vil ajourføre dette textfield med tiden importerer flash. tekst. textfield;,, trin 3: variabler og konstruktøren funktion, her vil vi erklære de variabler, klasse har brug for, og kode konstruktøren funktion. føje følgende til "counttimer. som"., offentlige klasse counttimer udvider timer (//textfield, hvor ajourførte tid går private var targettext: textfield; //ledelse af timer, dvs. "" eller "ned" private var retning:snor; //hvor mange minutter timeren er private var minutter: int. //hvor mange sekunder timeren er private var sekunder: int. //anvendt i vores beregning for at ajourføre timeren private var totalseconds: int. //den samlede tid = (minutter og sekunder) private var timetotal. /hvor meget af den tid er forbi, private var timeloaded = 0; //til rigtigt at prøve timeren private var test: boolean = falske offentlig funktion counttimer (min: int, sek. int, dir: string, targettextfield: textfield = null) (minutter = int (min * 60 sekunder). = int (sec); timetotal = minutter og sekunder, super (1000, timetotal); hvis (dir = = "ned") (totalseconds = minutter og sekunder) andet (totalseconds = 0} hvis (targettextfield!= null) (targettext = targettextfield;} retning = dir.}, her har vi erklæret visse variabler, vi har brug for vores klasse., konstruktøren funktion tager fire parametre. de er som følger:,, min,: en heltalsværdi, der repræsenterer, hvor mange minutter vil du timeren til.,, sec,: det er en heltalsværdi, hvor mange sekunder vil du timeren til.,, dir: en kæde, der repræsenterer den retning af disken kan være et af følgende: "op" eller "ned".,, targettextfield: en textfield, der vil blive anvendt til at vise den ajourførte (det er frivilligt..,, i dennes funktion, vi fastsætter, minutter, variabel svarende til den angivne værdi af, min, * 60 (siden 1 minut svarer til 60 sekunder. vi så det, sekunder, var.iable svarende til den, s. næste vi fastsætter, timetotal, variabel svarer til protokollen, +, sekunder. så vi kalder, super(), - - der løber en kode fra entreprenøren funktion, jas, klasse - - over 1000 millisekunder, og, timetotal, variabel.ved hjælp af 1000 millisekunder fortæller vi uret for at irritere en gang hvert sekund, og ved i, timetotal fortæller vi timer, hvor mange gange til ilden. vi næste kontrol af, hvorvidt den dir parameter er lig med "op" eller "ned" og fastsætte, totalseconds, variabel i den samlede sekunder. vil blive anvendt i vores timehandler(), funktion.vi vil tilvækst eller dekrement med hver 1 timer timeren brande af. så tjekker vi, om de bruger har bestået i en textfield for producenten og fastsætte, targettext, variable, hvis de gjorde. det vil blive anvendt til at vise tiden. endelig sætter vi den vej, variabel til retning brugeren bestod i, trin 4: indkodning, start(), funktion, vi her kode, start(), funktion for vores timer. tilføje efter den til "counttimer. som". tilsidesætte offentlig funktion start(): ugyldig (super. start(); addeventlistener (timerevent.timer, timerhandler)} fordi vi udvidede timer er vi mere tungtvejende timeren er gældende, start() metode.her har vi simpelthen ringe, super. start(), (dvs. koden fra timeren klasse, start(), metode), og der tilsættes en eventlistener at afsløre, når uret tikker.,, løntrin 5: indkodning, timerhandler, funktion, vi her kode vores, timerhandler(), funktion.det er, hvor vi ajourføre vores tid og vise det.denne funktion er en gang hvert andet., tilføjes følgende til counttimer klasse. privat funktion timerhandler e: timerevent): ugyldig (//opdatere vores tid er variabel timeloaded + = 1; hvis (retning, = = "op") (//totalseconds er = 0, til at starte med.vi tilføjer 1 til det.totalseconds + +) andet (//totalseconds = antallet af sekunder ved at tilføje min og sek. vi trækker fra den 1. totalseconds.;) //- sekunder tilbage.sekunder = totalseconds% 60; //hvor mange minutter er gået minutter = matematik. etage (totalseconds /60); //minutter og sekunder til at vise i textfield.var minutesdisplay: string = (minutter < 10). "0 + minutter. tostring(): minutter. tostring(), var secondsdisplay: string = sekunder (< 10). "0 + sekunder. tostring(): sekunder. tostring(); hvis (targettext!= null) (targettext.text = minutesdisplay + ":" + secondsdisplay;} hvis (test = sand) (spor (minutesdisplay + ":" + secondsdisplay)}}, i denne funktion, vi ajourføre vores, timeloaded, variable, som er anvendt til at følge de fremskridt, der er gjort af, hvor lang tid der er gået, siden vi. kontrollere, om retning, er lig med "op" eller "ned" og tilpasse vores, totalseconds, variable herom. vi ved at fastslå, hvor mange sekunder og minutter tilbage; puden, minutesdisplay, og secondsdisplay, med et ekstra nul, hvis nødvendigt, ajourføre textfield (hvis det var gået ind i den pågældende), og eventuelt spore den tid, hvis vi har sat vores test, variabel til ægte (handy til prøvning, hvis du ikke sætter en textfield). den beregning, der anvendes til at bestemme than sekunder, variable tager resten af totalseconds /60,.% (modulo) operatør giver os resten. den beregning, der anvendes til at bestemme de minutter, variable er blot det, totalseconds, /60, rundet ned med matematik. floor(),.,, trin 6: indkodning, gettimetotal(), funktion, her har vi en funktion, der blot vender tilbage til vores kodeks, timetotal, variabel. fordi vi lavede denne variabel privat, vi har brug for en måde at få adgang til det. gettimetotal() offentlige funktion: int {tilbage timetotal;}, trin 7: indkodning, gettimeloaded(), funktion, vi her kode en funktion, der vender tilbage til vores, timeloaded variabel.endnu en gang, fordi det er privat, vi har brug for en måde at få adgang til det. gettimeloaded() offentlige funktion: int {tilbage timeloaded;}, trin 8: indkodning, getprog(), funktion, denne funktion giver os de fremskridt, der er sket i vores tid. det er, hvor meget af den samlede tid, som vi, der er fastsat i dennes) døde.vi ganger med 100, så vi får en procentdel på mellem 1 og 100. offentlige funktion getprog(): int {tilbage matematik. etage (timeloaded /timetotal * 100);}, trin 9: afprøvning af counttimer klasse, og her begynder vi at udforme de største film, der bruger vores "counttimer" klasse. gå til, fil > nye, og skabe en ny actionscript 3,0 dokument.,, der er på størrelse med 320x220px., medmindre dette dokument som "timer. blp".gå til fil > nye og vælge actionscript 3 klasse.,, medmindre denne sag som "vigtigste.".vi skal teste vores counttimer klasse, så føje følgende til den "store. som"., pakke (import flash.display.movieclip; import counttimer; offentlige klasse vigtigste udvider movieclip {var counttimer: counttimer; offentlig funktion main() {counttimer = nye counttimer (1,30, ""); counttimer. start();}}} at sørge for, at du satte, test, variabel i "counttimer. som" er rigtigt, og der er filmen dokument klasse "primære". tryk ctrl ind og prøve den film, du skal se den tid spores i udgangsvinduet.,, trin 10: udarbejdelse af brugergrænsefladen, her vi begynder at udforme de største film, der bruger vores, counttimer, klasse. vi vil bruge tweenlite i vores film, så hvis du ikke har en kopi, det kommer fra, countd greensock. kom.egne /countup tekst, vælges den tekst, værktøj og sikre, at følgende egenskaber er fastlagt i "art" panel.,, størrelse: 50 pkt., farve: sort, stadig i "art" panel, klik på "integrere" og sikre, at "store" og "små", "tal" udvalgte, og under "også omfatte disse tegn", som du har tilføjet et ":" og en "%".,, udarbejde en textfield ud på scenen, og følgende egenskaber under "beliggenhed og størrelse" panel.,, x: 0, y: 0 w: 320, h: 60, give denne textfield tilfælde navn "timer_txt" sørge for, at den type er sat til "klassiske tekst" og "dynamisk tekst".,, det textfield vil blive anvendt til at vise den tid, da filmen først begynder.,, der bar, nu er vi nødt til at udforme vores statusbar.,, indsæt > nyesymbol.det hedder "progresscontainer" og sikre, at eksport til actionscript "er kontrolleret, og at den klasse er sat til" progresscontainer ".,, gå til vindue > komponenter, og trække en progressbar komponent i filmen magasin.,, sæt progressbar egenskaber til følgende.,, x: 0, y: 0, w: 320, h: 42,0, under" komponent parametre "mode" manuelle ".,, give progressbar tilfælde navn" pb. ", vælges den tekst, værktøj og sikre, at følgende egenskaber under" art "panel er fastsat, 30pt størrelse: farve: sort drage en textfield i filmen magasin., der har følgende egenskaber på textfield.,, x: 80, y: 1,0 w: 159.0, h: 38:0, giver denne textfield tilfælde navn" progress_txt ". du kan lukke dette movieclip, vokser.og svag tekst, vi vil udforme det voksende og svag tekst, som skal vises, når hele tiden er udløbet. gå til at indsætte > nye symbol. det hedder "growfadetext" og sikre, at eksport til actionscript "er kontrolleret og klassen er sat til" growfadetext "., udvælge tekst redskab og sikre, at følgende egenskaber er fastsat i henhold til den" art "panel.,, størrelse: 15pt, farve: [det blå, kan du gøre det samme, hvis du ønsker], hiver en textfield i movieclip og fastsætte følgende egenskaber.,, x: - 69,0, y: - 6,35, w: 135, 0, h: 21.0, ind i teksten" timer fuldstændigt "i textfield.du kan lukke dette movieclip.,, indrejse områder, nu vil vi udforme movieclip, der glider fra venstre.vælg rektangel, værktøj og farven hvid.hiver en rektangel fra øverst til venstre på scenen til bunds., udvælge rektangel, du trak ud og trykke på f8. giv det navnet "countcontainer." sikre "eksport til actionscript kontrolleres, og at der er fastsat til" countcontainer ".,, der har følgende egenskaber på movieclip.,, x: 322 y: 0 w: 320, h: 220, double click at gå ind i movieclip. vælg den tekst, værktøj og sikre, at følgende egenskaber er fastlagt i" art "panel.,, størrelse: 50pt, farve: sort, hiver en textfield på den fase, og følgende egenskaber på.,, x: 0, y: 0 w: 320, h: 60, give denne textfield tilfælde navn" timer_txt "og sikre, at den type er sat til" klassiske tekst "og" indgående tekst "henholdsvis. endnu en gang vælge.e tekst, værktøj og trække en textfield ind på scenen, så følgende egenskaber på.,, x: 0, y: 50, 0, w: 320, h: 60, give denne textfield tilfælde navn "instructions_txt" og sikre, at den type er sat til "klassiske tekst" og "indgående tekst" hhv., gå hen til vinduet > komponenter og trække tre knapper i denne movieclip.,, give den første knap instans navn "countdown_btn" og følgende egenskaber på.,, x: kl. 14.00, y: 160, give den anden knap instans navn "cancel_btn" og følgende egenskaber om det.,, x: 103.00, y: 160.00, giver den tredje knap instans navn "countup_btn" og følgende egenskaber på.,, x: 182.00, y: 160.00, kan du nu afslutte movieclip. nu, hvor vi har vores eu - erhvervsgrenen, dervi kan skrive koden for den største film.,, trin 11: kodning de største film, hvis du følger med slette alle de actionscript i "vigtigste. som", som du har skabt i trin 9.det var for afprøvning; nu har vi brug for en kodeks, der vil arbejde sammen med vores nye grænseflade., så er vi åbne pakken erklæring og importere de emner, som vi vil bruge, føje følgende til "vigtigste. som"., pakke (import flash.display.movieclip; import fl.controls.button; import flash.text.textfield; import flash.events.timerevent; import flash.events.mouseevent; import flash.text.textfieldtype flash.text.textfieldautosize, import, import - counttimer; import com.greensock.tweenlite; import flash.events.event; import fl.controls. progressbar;,, trin 12: variabler og konstruktøren funktion her erklærer vi vores variabler og kode konstruktøren. indsættes efter "hoved. som" offentlige klasse vigtigste udvider movieclip (//et systemat holde minutter og sekunder i elementer [0] og [1] private var timearray: system; //vores counttimer private var counttimer: counttimer; //en boolean, der fortæller os, om dette er den første timer //(den, der blev anvendt, da filmen først starter) private var firsttimer: boolean = sandt. //ledelse af vores timer kan være "op" eller "ned" private var retning: string; //den movieclip, der indeholder den tekst, vi dyrker og falme private var growfadetext: growfadetext; //den movieclip, der holder vores progressbar private var progresscontainer: progresscontainer; //protokollen private var min: int. //den anden privat var sek: int; offentlig funktion main() (min. = 1; jf. = 0, counttimer = nye counttimer (min. "",r_txt); timer_txt.text = "1". counttimer. addeventlistener (timerevent. timer_complete, timercomplete); setupbuttons(); addprogresscontainer (0,70 "ned"); counttimer. start(); stadie. addeventlistener (ref. enter_frame, updateprogress); cancel_btn. addeventlistener (mouseevent. klik, movecontainer)}, for det første har vi oprettet min og sec, variabler og videregive dem til counttimer, vi så i den retning "ned" og fastsætte mål textfield til timer_txt. vi så nogle misligholdelse tekst til textfield, tilføje en, timer_complete, begivenhed til at timeren løb en funktion til at nedsætte vores knapper, tilføje progressbar, start uret, og tilføje, enter_frame, begivenhed til at lytte til det stadium, som vi kan bruge til at ajourføre de fremskridt, bar), og endeliglly tilføje, klik, begivenhed til at lytte til vores, cancel_btn,.,, trin 13: indkodning, timercomplete(), funktion, tilføjes følgende til "vigtigste. som"., privat funktion timercomplete e: timerevent): ugyldig (addgrowfadetext (154130); hvis (firsttimer = = sand) (tweenlite. (growfadetext, 2.5, (scalex: 2, scaley: 2 - 0, oncomplete: movecontainer})} andre (tweenlite. - growfadetext, 2.5, (scalex: 2, scaley: 2 - 0, oncomplete: showthecontrols})}}, vi tilføje teksten til fase ved at kræve, addgrowfadetext(), vi vil undersøge dette fungere snart. vi kontrollerer det, firsttimer, variabel for at se, om det er første gang, hvis det er brug tweenlite til at vokse og falme teksten til, movecontainer, funktion, når animation fuldstændigs. hvis det ikke første gang vi så igen brug tweenlite til at vokse og falme teksten, men ring, showthecontrols(), funktion, når den informationskampagne, fuldfører. vi vil undersøge, movecontainer, og showthecontrols, funktioner, kort, trin 14: indkodning, setupbuttons(), funktion, tilføjes følgende til "vigtigste. som" privat funktion setupbuttons(): ugyldig (countcontainer. countdown_btn. addeventlistener (mouseevent. klik, dotimer); countcontainer. countup_btn. addeventlistener (mouseevent. klik, dotimer); countcontainer. cancel_btn. addeventlistener (mouseevent. klik, restorecontrols); countcontainer.instructions_txt.text = "ind i format: 30 så presse nedtælling eller countup knap". //. vi vil ikke brugeren kan ændre teksten)ntcontainer.instructions_txt.selectable = falske}, vi tilføje nogle eventlisteners til vores knapper, teksten til vores, instructions_txt og gjort det, så brugeren kan vælge eller ændre teksten.jeg brugte en textfield her, for at holde denne allerede længe tutorielle kortere, men du vil sikkert gerne anvende mærket element her og stil den med en textformat objekt.,, trin 15: indkodning, addprogresscontainer(), funktion, tilføjes følgende til "vigtigste. som" privat funktion addprogresscontainer (xpos: int, ypos: int dir: string): ugyldig (progresscontainer = nye progresscontainer(); progresscontainer. x = xpos; progresscontainer. y = ypos; stadie. addeventlistener (ref. enter_frame, updateprogress); addchild (progresscontainer); hvis (dir = = "ned") (progresscontainer.pb.direction = "venstre"} andre (progresscontainer.pb.direction = "ikke"}}, her skaber vi et nyt progresscontainer og dets, x og y, egenskaber ved, xpos, og, ypos, parametre, som er vedtaget i. vi må tilføje en, enter_frame, begivenhed til at lytte, at samtaler, updateprogress(), funktion, og vi kan tilføje, progresscontainer, på scenen. vi tjekker, dir parameter, for at se, om det er lig med "nedad", hvis det er det, der er progressbar retning "venstre", ellers sætter vi den progressbar er retning "ret", trin 16: indkodning, removeprogresscontainer(), funktion, tilføjes følgende til "vigtigste. som" privat funktion removeprogresscontainer(): ugyldig (hvis (progresscontainer!= null) (fase. removeeventlistener (ref. enter_frame, updateprogress); removechild (progresscontainer); progresscontainer = ugyldig;}}, vi undersøger, om, progresscontainer eksisterer; hvis ikke, må vi fjerne, enter_frame, begivenhed til at lytte fra scenen, så det ikke bliver ved med at løbe, vi så. fjern progresscontainer fra scenen og sæt den til, nul, da vi er færdige med det. gå 17: indkodning, updateprogress(), funktion, tilføjes følgende til "vigtigste. som"., privat funktion updateprogress e: begivenhed): ugyldig (progresscontainer.progress_txt.text = counttimer. getprog(). tostring() + "%" progresscontainer. pb. setprogress (counttimer. gettimeloaded(), counttimer. gettimetotal())}, vi fastsætter, progress_txt, ertekst til at vise udviklingen af vores timer. vi bruger counttimer er, getprog(), metode, der returnerer et heltal af, hvilken procentdel af den tid er gået. da det returnerer en int, vi bruger as3 er bygget på, tostring(), metode, og vedlægge en "%" signal til det næste, vi kalder., setprogress(), metode i progressbar komponent i vores progressbar (pb).vi går ind, counttimer. gettimeloaded(), og counttimer. gettimetotal(), som vender tilbage, tal.for at lære mere om den progressbar komponent, tjekke min hurtig introduktion til progressbar komponent.,, gå 18: indkodning, addgrowfadetext(), funktion, tilføjes følgende til "vigtigste. som"., privat funktion addgrowfadetext (xpos: int, ypos: int) (growfadetext = nye growfadetext(); growfadetext. x = xpos; growfadetext. y = ypos; addchild (growfadetext)}, skaber vi en ny instans, der growfadetext, dens, x og y, egenskaber, som er angivet, og vi lægger det på scenen.,, skridt 19: indkodning, removegrowfadetext(), funktion, tilføjes følgende til "vigtigste."., privat funktion removegrowfadetext(): ugyldig (hvis (growfadetext!= null) (removechild (growfadetext); growfadetext = ugyldig;}}, vi tjekker for at se, om growfadetext, eksisterer.hvis det ikke gør, at vi kan fjerne det fra scenen og sæt den til null.,, gå 20: indkodning, movecontainer(), funktion, også efter at "vigtigste. som"., privat funktion movecontainer e: begivenhed = null): ugyldig (counttimer. stop(); removechild (timer_txt); removechild (cancel_btn); removegrowfadetext(); removeprogresscontainer(); countcontainer.cancel_btn.visible = falske firsttimer = falske tweenlite. - countcontainer, 1 (x: 0})}, vi stoppe uret og fjerne, timer_txt, og cancel_btn,.det næste, vi kalder vores, removegrowfadetext(), og removeprogresscontainer(), funktioner, der, cancel_btn inden for countcontainer være usynlig, fastsætte, firsttimer, variable, falsk, og skub, countcontainer, ved hjælp af tweenlite.,, gå 21: indkodning, showcontrols(), funktion, tilføjes følgende til "vigtigste som":, privat funktion showthecontrols(): ugyldig (showcontrols(); removeprogresscontainer(); counttimer. stop(); countcontainer.timer_txt.text = "." countcontainer.timer_txt.text = ""}, vi kalder den, showcontrols, funktion, som vi vil undersøge, om kort tid.næste er, removeprogresscontainer(), stoppe uret og nulstille vores textfields være blank.,, skridt 22: indkodning, dotimer(), funktion, tilføjes følgende til "vigtigste. som":, privat funktion dotimer e: mouseevent): ugyldig (hvis (e.target = = countcontainer. countdown_btn) (retning = "ned"} andre {retning = "op"} hvis (countcontainer.timer_txt.text!= ") (timearray = countcontainer. timer_txt. tekst. split (": "); min = timearray [0]; jf. = timearray [1] counttimer = nye counttimer (min, sec, retning, countcontainer. timer_txt); counttimer. start(); counttimer. addeventlistener (timerevent. timer_complete, timercomplete); counttimer. addeventlistener (timerevent. timer, updateprogress); hidecontrols(); addprogresscontainer (0,70, retning);}}, vi se først, hvilken knap trykkede. hvis den, countdown_btn, pressede vi fastsætter, retning, variable" ned ", ellers kan vi fastsætte, retning, variabel," ". vi tjekker, at, timer_txt, ikke er tomme. hvis det ikke er så bruger vi det, split(), funktion at få minutter og sekunder til, timearray,...e split(), funktion kræver en streng og adskiller det fra, hvad siger du det som et parameter - her anvendte vi den kolon (:), - - og så tilføjer hver "stykke" til nettet.så, hvis du bestod i, "45", så de system er element [0] ville være "1" element [1], ville blive "45".vi så det, sec, og min, variabler. næste, skaber vi en ny instans, counttimer og bestå i, min,,,.,,,), og textfield brug. vi så tilføje to, timerevent, lyttere, at kalde vores, timercomplete(), og, updateprogress(), funktioner. endelig opfordrer vi den, hidecontrols(), funktion og tilføje, progresscontainer, på scenen.,, gå 23: indkodning, showcontrols(), funktion, tilføjes følgende til "vigtigste. som"., privat funktion showcontrols(): ugyldig (countcontainer.instructions_txt.visible = sandt. countcontainer.countdown_btn.visible = sandt. countcontainer.countup_btn.visible = sandt; countcontainer.cancel_btn.visible = falske}, vi bare det, instruction_txt,,, countdown_btn, og countup_btn, at visderfor.vi så det, cancel_btn, til at være i, synlig.,, skridt 24: indkodning, hidecontrols(), funktion, tilføjes følgende til "vigtigste. som"., privat funktion hidecontrols(): ugyldig (countcontainer.instructions_txt.visible = falske countcontainer.countdown_btn.visible = falske countcontainer.countup_btn.visible = falske countcontainer.cancel_btn.visible = sandt.}, dette er det modsatte af den tidligere funktion; her skal vi bare sætte den, instruction_txt,,, countdown_btn, og countup_btn, for at være usynlig.vi så det, cancel_btn, skal være synlig, gå 25: indkodning, restorecontrols(), funktion, tilføjes følgende til "vigtigste. som"., privat funktion restorecontrols e: begivenhed) (showthecontrols(); counttimer. stop();}, vi kalder den, showcontrols(), funktion og stoppe uret.,, gå 26: tæt på klassen og pakke. føje følgende til "vigtigste. som") //- klasse) //tæt på den pakke, vi lukker vores klasse og pakke.,, skridt 27: det dokument, klasse og afprøve den film, selv om det ikke er absolut nødvendigt, de test, variable, falske, i "counttimer." som "., sørg for at din dokument klasse er sat til" store "og afprøve den film.,, at sige, at vi nu har en mangesidet timer klasse, der kan anvendes til flere tingfra tidsfrister for test til fastsættelse af tidspunkter for niveauer på spil.jeg håber, du fandt denne forelæsning nyttige, og tak for det!,

Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch
Flash AS3 countdown timer stopwatch



Previous:
Next Page: