movieclip genopbygning med sharedobject klasse

, movieclip genopbygning med sharedobject klasse,,,,, andel,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss., i denne forelæsning, vil vi lære at gennemføre sharedobject klasse.vi gemmer alle væsentlige oplysninger i en movieclip lokalt, så lad det næste gang, ansøgningen er åbnet!vi fandt det fantastisk forfatter, takket være flashgamelicense.com, i stedet for at købe og sælge flash spil.,,,,, takket være manicho for harddisk ikon.,,, endelige resultat forpremiere, lad os tage et kig på det endelige resultat, vi arbejder hen imod:,, tegner et billede i kassen med din mus. og ramte save - knappen.genopfriske denne side i deres browser, og klik belastning.vil du se din doodle igen, efter at have været ladt fra din harddisk, baggrund, animation vil være på samme ramme, som det var før.,, trin 1: oprettelse af vores dokument klasse, lad os begynde med at skabe en ny. rammelåneaftale. gem det og åbne egenskaber panel i flash.jeg bruger flash cs5, men denne forelæsning bør arbejde med blinkene cs version.i egenskaber panel, tryk på den knap, redigere, og sørge for, at deres indstillinger er identisk med billedet nedenfor:,, trin 2: dokument klasse fælde, nu hvor vi har arrangeret vores. fia, lad os begynde vores dokument klasse.til at begynde med åbne din favorit actionscript kode redaktør og redde en. som filen "vigtigste." i det samme register som din. fla næste går ind i "offentliggøre" panel af flash.sæt "klasse" textfield "primære".åbn nu main.as og kopi og pasta følgende kode til at skabe vores vigtigste dokument klasse.pakken (import flash.display.bitmap; import flash.display.bitmapdata; import flash.display.graphics; import flash.display.shape; import flash.display.sprite; import fl.controls.combobox import flash.events.event; import flash.events.mouseevent; import flash.geom.matrix; import flash.geom.rectangle; import flash.net.sharedobject; offentlige klasse vigtigste udvider sprite {offentlige funktion main(): ugyldig (}), trin 3: vores primære formål, nu skal vi skabe vores vigtigste movieclip.den vil indeholde 3).hver med en farvet form.trække en røde rektangel, gør det til en movieclip med 48 og sætte navn på movieclip "myobject".sørg for, at registreringen er den øverste venstre hjørne.så skabe to nye tomme billeder inde i movieclip.fyld op med en grøn vinkel og den anden med en blå cirkel. det endelige resultat bør se lidt sådan her:,, trin 4: ved hjælp af en combobox, nu skal vi bruge en combobox, som i virkeligheden er en ned.sørg for, at de tilfælde af myobject på scenen er også mærket myobject.så åbn: vindue > komponenter og trække "combobox" punkt på biblioteket.hvis du ikke bruger flash ide, du skal lige klikke > eksport til de combobox swc i biblioteket. nu kan vi skabe den "mycombobox" variabel, placeret oven over dennes funktion. private var mycombobox: combobox = nye combobox() næste tilføje følgende kode til din main() konstruktøren:, //standser myobject movieclip på den første ramme myobject. gotoandstop (1) //tilføjer følgende genstande til combobox og giver dem hver enkelt etiketter mycombobox. additem (etiket: "firkant"}) mycombobox. additem (etiket: "cirkel"}) mycombobox. additem (etiket: "trekant"}) //tilføjer combobox addchild (mycombobox) //går til de rigtige koordinater mycombobox. kom (280150), her er et øjebliksbillede af, hvad din ansøgning bør ligner vin løb:,, løntrin 5: ændring, myobject, rammer, vi ønsker, at vores movieclip ændre stel, når vi vælger et andet punkt på dagsordenen.lad os begynde med at tilføje en eventlistener til vores konstruktøren - event.change begivenhed til at lytte - og kontrol for at se, hvornår de udvalgte objekt i den combobox ændringer.det er præcis, hvor brugeren vælger en ny combobox punkt på dagsordenen. mycombobox. addeventlistener (ref. ændring, changeobjectframe), næste gang vi skal skabe changeobjectframe() funktion.denne funktion kontrol for at se, hvad den nuværende mærkning på combobox er, som navnet på den genstand, brugeren har valgt.det vil så gå til den korrekte referenceramme, myobject, udviser de udvalgte objekttype. privat funktion changeobjectframe e: begivenhed): ugyldig (//mycombobox.selectedlabel er navnet på den aktuelle formål valgt, at vi defineret tidligere...hvis (mycombobox.selectedlabel = = "firkant") (myobject. gotoandstop (1)} hvis (mycombobox.selectedlabel = = "trekant") (myobject. gotoandstop (2)} hvis (mycombobox.selectedlabel = = "cirkel") (myobject. gotoandstop (3)), kan du gå videre og udarbejde ansøgningen.du skal være i stand til at skifte til et andet formål ved at udvælge det ud fra menuen.,, trin 6: forøgelse af informationstiltag, lad os tilføje en informationskampagne til vores program.gå til den, myobject, movieclip på den første ramme.vælge alle de røde rektangel og skubbe f8 at forvandle det til en movieclip.sørg for, at registreringen er i øverste venstre hjørne.gør det med alle form i, myobject, movieclip, vi bliver nødt til at give hver movieclip en informationskampagne.gå ind i rektangel form movieclip og højre klik > skabe form mellem på den røde ud fyldning.,, herefter 60 billede af movieclip om tidsplan og skubbe f6, at skabe en ny keyframe.gør det med 30 ramme som godt.nu kan du gå til 30 ramme og ændre farven på form fylde.jeg har valgt at ændre farve til den gyldne orange.nu, hvis du spiller animation, farven ændres fra røde > orange > red.), gør det for hver form i det, myobject, movieclip.nu kan du gå videre og udarbejde ansøgningen hver udvalgt form vil ændre farver. den nuværende anvendelse bør handle sådan:,, trin 7: doodle lærred, lad os give brugeren til at trække lidt skik doodle på movieclip.dette svarer til min sidste lektion, som vi må brugeren til at tegne en skik design på spiller.vi vil imidlertid gå et skridt videre i denne lektion i, som giver brugeren mulighed for at redde hans besked.men lad os redde det til senere.lad os komme i gang med at oprette et tilfælde i form af klasse.tilføje denne kode over din konstruktøren: private var mycanvas: form = nye shape(), næste gang vi skal tilføje mycanvas variabel til scenen.tilføje denne kodeks til bunden af vores konstruktøren., addchild (mycanvas), trin 8: doodles, vil vi gøre det meget hurtigt.hvis du vil have mere forklaring om, hvordan man skal bruge form klasse til tegning, tjek min anden lektion. start ved at skabe en mouseisdown variabel. //kontrol for at se, om de mus er private var mouseisdown: boolean = falske, gå nu bare og tilføje følgende tilfælde lyttere:, fase. addeventlistener (mouseevent.mouse_move, drawdoodle) fase. addeventlistener (mouseevent.mouse_down, mousedown) fase. addeventlistener (mouseevent.mouse_up, mouseup), og her er de tre funktioner, der er knyttet til eventlisteners:, privat funktion mouseup e: mouseevent): ugyldig (mouseisdown = falske} privat funktion mousedown e: mouseevent): ugyldig (mouseisdown = sandt //bevæger sig mus viser mus mycanvas til (mycanvas.mo. grafik.usex, mycanvas. mousey)} privat funktion drawdoodle e: mouseevent): ugyldig (//hvis musen er faldet, hvis (mouseisdown) (//gør tegning indstillinger ret mycanvas. grafik. linestyle (5, 0, 1) //henleder doodle linje mycanvas. grafik. og gratis linjetil (mycanvas.mousex, mycanvas. mousey)}}, nu kan du afprøve det program, og det bør trække det fint.men vi har stadig ikke begrænset, at rummet af vores lærred, så træk uden for myobject grænser stadig vise.i løbet af de næste skridt, vil vi løse det her.,, trin 9: maskering, i mine tidligere lektion, processen med maskering var meget let, fordi hver maskerede mål var de samme i alle anvendelse.denne gang er vi nødt til at have en maske, der tilpasser sig hver movieclip. lad os gå videre og højre klik > en kopi af vores, myobject, på scenen.nu skal vi til højre klik > pasta til formålet, så er det præcis, hvor vores, myobject, var.nu ændre navn til "myobjectasmask f.eks." skift til de vigtigste klasse og tilføje følgende linjer for producenten: //alt dette burde være indlysende.mycanvas.mask = myobjectasmask myobjectasmask. gotoandstop (1), for så vidt den maske kun skal arbejde for den første genstand.vi er nødt til at tilpasse changeobjectframe funktion for at ændre vores maske for at møde den nye udformning af myobject.tilføje fremhævet kode til changeobjectframe funktion:, privat funktion changeobjectframe e: begivenhed): ugyldig (hvis (mycombobox.selectedlabel = = "firkant") (myobject. gotoandstop (1)} hvis (mycombobox.selectedlabel = = "trekant") (myobject. gotoandstop (2)} hvis (mycombobox.selectedlabel = = "cirkel") (myobject. gotoandstop (3) //godkender doodle mycanvas. grafik. clear() //synkroniserer myobject og myobjectasmask stel myobjectasmask. gotoandstop (myobject. currentframe), trin 10: save - knappen næste: vi kan tilføje en redde knap til vores anmodning.senere vil redde vores myobject er data i en sharedobject.skabe en ny knap og design, som du vil.jeg har min egen knap, men viser, hvordan man drage en er ikke vigtigt, trække et tilfælde af knap på scenen og give det den instans navn "savestuff".derefter tilsættes følgende tilfælde til at lytte til producenten:, savestuff. addeventlistener (mouseevent.click, saveobjectdata), dernæst tilføje dette tomme funktion, som vi vil bruge til at tilføje vores kode, som redder objekt. privat funktion saveobjectdata e: mouseevent): tomrum {}, trin 11: skabelse af og adgang til en ny sharedobject, til at begynde med sharedobject klasse, bliver vi nødt til at skabe en ny form for sharedobject klasse.hvis du ikke har brugt sharedobject klasse før, så ville det være et godt tidspunkt til at tjekke det pædagogiske arbejde med sharedobjects for at få en idé om, hvordan de virker.denne kode anvendes til at skabe en sharedobject: private var mysavedata: sharedobject = sharedobject. getlocal ("savedata"), gå ind i saveobjectdata funktion og tilføje følgende kode at starte vores redde operation: //skaber et nyt system i programmet var mydataarrayinprogram: array = nye array() //tilføjer nogle tilfældige data vores system mydataarrayinprogram. tryk ("whateverdatayouwant") //skaber en variabel i sharedobject //og sæt det er værdi og værdien af vores lokale //system mysavedata.data.mydataarray = mydataarrayinprogram //"trækker" data væk for at blive reddet i //computer (selv om det navn siger ellers, //- lagre data.)mysavedata. flush(),, hvis du ønsker at se, om denne kodeks er effektiv, bare tilføje dette indlæg af kode til bunden af deres funktion:, trace (mysavedata. data. mydataarray), trin 12: at redde vores vigtigste movieclip data, så langt, er alt godt.vi har formået at skabe et sharedobject og med succes har oplagret et par bytes af data i det.det næste skridt er at begynde at forberede vores program for at genopbygge vores movieclip.i dette skridt, vil vi tilføje alle de nødvendige data til vores sharedobject for vores anmodning til at rekonstruere movieclip fra bunden. for at gøre dette er vi nødt til at få alle vores oplysninger i mydataarrayinprogram system, så det vil blive knyttet til vores sharedobject.jeg har modificeret saveobjectdata funktion for at gøre alt dette.du kan se under:, privat funktion saveobjectdata e: mouseevent): ugyldig (var - mydataarrayinprogram: array = nye array() //tilføjer, at objektet er x placering mydataarrayinprogram. tryk (myobject. x) //tilføjer, at objektet er y placering mydataarrayinprogram. tryk (myobject. y) //tilføjer, at objektet er currentframe //////////////(den nuværende formål valgt) mydataarrayinprogram. tryk (myobject. currentframe) //tilføjer den nuværende ramme af //aktuelle objekt er animation mydataarrayinprogram. tryk (myobject. getchildat (0). currentframe) mysavedata.data.mydataarray = mydataarrayinprogram mysavedata. flush() spor (mysavedata. data. mydataarray)}, vigtigt, getchildat():, til børn af genstanden, baseret på deres indeks.når der kun er én ting i en movieclip, kan man være sikker på, at getchildat (0), vil få dig til det!og endnu vigtigere:, bekymre dig ikke, hvis du får følgende fejl:,, 1119: adgang til eventuelt udefinerede ejendom currentframe gennem en henvisning til den statiske type flash. display: displayobject.,, hvis så du sikkert har strenge mode aktiveret i din flash indstillinger.problemet er, at getchildat(), returnerer et displayobject og flash, det kunne være en bitmap, sprite, movieclip osv. problemet med, displayobject.currentframe, er, at det kun er movieclip klassen har currentframe ejendom, fordi ingen anden klasse har animation. for at løse det, gå til: fil > offentliggøre indstillinger > actionscript indstillinger og uncheck "fejl: en mode",,, redaktør: alternativt kan du, støbte, genstand tilbage af getchildat() som en movieclip, som så:, mydataarrayinprogram. tryk ((myobject. getchildat (0), som movieclip). currentframe), det fortæller flash "behandling dette objekt, som er en, movieclip,.,, trin 13: at skabe en belastning på knap, vi ikke er på det stadium, hvor vi kan bruge vores redde data, men det er stadig god til crentesats, eu - erhvervsgrenen mulighed for at indlæse sharedobject før tiden.ligesom save - knappen, du kan bygge på knappen til at være, som du vil. jeg vil ikke følge dig gennem tegning., skabe en ny knap og trække et tilfælde ind på scenen.- så sæt den instans navn til "loadstuff". og nu bare tilføje følgende tilfælde til at lytte, loadstuff. addeventlistener (mouseevent.click, loadobjectdata), og skabe loadobjectdata funktion som så:, privat funktion loadobjectdata e: mouseevent): tomrum {}, trin 14: klare alt knap, så lad os tilføje en ny knap til vores eu - erhvervsgrenen.denne knap vil slette alt, hvad der står i vores sharedobject og udrydde de nuværende doodle på mycanvas. ligesom de andre knapper, vil jeg vælge min egen grafisk, kan du vælge din egen eller bruge min., så du kan sætte navn på knap. "clearstuff." nu tilføje denne begivenhed til at lytte.:, clearstuff. addeventlistener (mouseevent.click, clearobjectdata), og skabe clearobjectdata funktion som så:, privat funktion clearobjectdata e: mouseevent): ugyldig (//klart sharedobject mysavedata. clear() //godkender mycanvas grafik mycanvas. grafik. clear()}, gå 15: bitmapdata billeder, nu er du begyndt at spørge: "hvorfor kan jeg ikke redde brugerens doodle som enhver anden ejendom?"desværre, flash ikke tillade, at du direkte redde movieclips, bitmaps eller endog former inden for en sharedobject, men du kan gøre dette ved at redde pixel af pixel værdi af billedet. skal du spørge: "men" doodle "er ikke et bitmap, det er en bruger, der vektor image, der er indeholdt i form?! "det er rigtigt, men vi kan konvertere det til bitmap baseret på data ved at tage et øjebliksbillede af det med bitmapdata klasse!gå og skabe følgende variable over konstruktøren af vores vigtigste anvendelse: private var bitmapdatasnapshot: bitmapdata, denne variabel er "camera", der tager et øjebliksbillede af doodle. nu tilføje følgende fremhævet linjer på saveobjectdata funktion i stedet vist nedenfor, privat funktion saveobjectdata e: mouseevent): ugyldig (var - mydataarrayinprogram: array = nye array() mydataarrayinprogram. tryk (myobject. x) mydataarrayinprogram. tryk (myobject. currentframe) mydataarrayinprogram. tryk (myobject. getchildat (0). currentframe) //skaber et nyt tilfælde af bitmapdata klasse, //er størrelsen af det tidspunkt, giver mulighed for gennemsigtighed, //og fastsætter de udfylde en gennemsigtig hvid bitmapdatasnapshot = n- bitmapdata (640, 480, sandt, 0) //fortæller kameraet og tager et snapshot //af mycanvas, over de næste 3 parametre, //og fortæller øjebliksbillede område kun omfatter //de ting, der er omfattet af myobject movieclip bitmapdatasnapshot. træk (mycanvas, nul, nul, nul, nye rektangel (250, 30, 150, 100)) mysavedata.data.mydataarray = mydataarrayinprogram mysavedata. flush() spor (mysavedata. data. mydataarray), trin 16: at redde bitmapdata i en sharedobject, lad os afslutte redde proces af vores program.nu, hvor vi har skabt en bitmapdata instans med alle vores mycanvas data, er vi nødt til at opbevare den i en bytearray sendes ind i vores sharedobject.for at gøre det, kan vi bruge en meget praktisk funktion inden for bitmapdata klasse.det hedder, getpixels(),.,, getpixels(), returnerer et bytearray af pixel data af en bitmapdata.i modsætning til de bitmapdata klasse, bytearrays, kan opbevares i sharedobjects, så de er det rette værktøj til at redde vores doodle. alt du behøver at gøre, er at tilføje denne linje kode i din saveobjectdata funktion, lige efter du færdiggøre din bitmapdata arbejde: //skubber værdien af de returnerede //bytearray af getpixels() funktion ////////////////getpixels() i mydataarrayinprogram kræver et rektangel, //viser, hvilken del af objektet er pixels //, vi egentlig ønsker.//bemærkning: den nuværende rektangel er kun //en tilnærmelse af, hvor doodle //bør vise!mysavedata. data. mydataarray. tryk (bitmapdatasnapshot. getpixels (nye rektangel (250, 30, 150, 100)), om at de sidste skridt.når data er reddet, har vi brug for brugeren opfriske den side, for at bevise, at deres doodle er blevet reddet deres harddisk og ikke kun oplagres midlertidigt hukommelsestab.udarbejde en sort boks rundt på scenen og tilføje en tekst til den, der stiller de spiller for at opfriske.derefter udtages hele formålet og skubbe f8.sørg for at kontrollere "eksport til actionscript" kasse og "klasse" til "refreshscreen".du kan nu fjerne objektet på scenen, nedenfor, er de refreshscreen, som jeg har gjort:,, nu tilføje denne kodeks til bunden af din saveobjectdata funktion:, addchild (nye refreshscreen()), deres færdige saveobjectdata funktion bør se sådan ud:, privat funktion saveobjectdata e: mouseevent): ugyldig (var - mydataarrayinprogram: array = nye array() mydataarrayinprogram. tryk (myobject. x) mydataarrayinprogram. tryk (myobject. currentframe) mydataarrayinprogram. tryk (myobject. getchildat (0). currentframe) bitmapdatasnapshot = nye bitmapdata (640, 480, sandt, 0) bitmapdatasnapshot. træk (mycanvas, nul, nul, nul, nye rektangel (250, 30, 150, 100)) mydataarrayinprogram. tryk (bitmapdatasnapshot. getpixels (nye rektangel (250, 30, 50, 100)))mysavedata.data.mydataarray = mydataarrayinprogram mysavedata. flush() spor (mysavedata. data. mydataarray) addchild (nye refreshscreen())}, skridt 17: genopbygningen af vores doodle, det er tid til at genopbygge hele vores doodle fra bytearray, at vi reddede før!du tænker: "hvad fanden skal jeg gøre med en bytearray, det er bare en flok forvansket mumbo - jumbo!"og du har ret, det er!heldigvis adobe har også givet os en stor opgave, setpixels(), som de giver samme rektangel og bytearray, at genskabe de samme bitmapdata, du havde.før vi rekonstruere hele vores movieclip, bør vi gå videre og køre en test for at se, om vi kan rekonstruere bitmapdata selv.ændre dit, loadobjectdata, funktion, så det ser ud som om det:, privat funktion loadobjectdata e: mouseevent): ugyldig (//skaber en bitmapdata og gør //det størrelsen af scenen, og /applys alle de gamle indstillinger var loadbitmapdata: bitmapdata = nye bitmapdata (640, 480, sandt.) //sæt pixels i loadbitmap //med vores gamle rektangel, //gennem adgang til vores savedata bytearray //(4. punkt i mydataarray (mydataarray [3]) loadbitmapdata. setpixels (nye rektangel (250, 30, 150, 100), mysavedata. data. mydataarray [3]) //////////////skaber en ny bitmap og fortæller det til //belastning sit billede fra loadbitmapdata var display: bitmap = nye bitmap (loadbitmapdata) ////////////////playhead flytter genstanden maske til højre ramme myobjectasmaske. gotoandstop (mysavedata. data. mydataarray [2]) //masker billedet med masken display.mask = myobjectasmask //tilføjer bitmap på scenen addchild (display)}, gå 18: fuldt ud at genopbygge myobject, nu er det tid til at lægge det sammen!først, right-click, myobject (i bibliotek) > egenskaber.tjek "eksport til actionscript" kasse og "klasse" til "myobjecttype".prøv at sammenligne deres egenskaber til dem på billedet:,, hvis det er i orden, så er vi klar til at gå.det over vores konstruktøren: private var mynewobject: myobjecttype;, og tilføje, at alt dette til toppen af, loadobjectdata(),. //skaber en ny instans myobjecttype (myobject) mynewobject = nye myobjecttype() //fastsætter x til den gamle holdning mynewobject. x = mysavedata. data. mydataarray [0] //fastsættes til den gamle position mynewobject. y = mysavedata. data. mydataarray [1] //udvælger de gamle ting mynewobject. gotoandstop (mysavedata. data. mydataarray [2]) //flytter playhead til højre animation ramme mynewobject. getchildat (0). gotoandstop (mysavedata data.. mydataarray [3]) //er genstand for fase addchild (mynewobject) //fjerner combobox begivenhed til at lytte mycombobox. removeeventlistener (event.change, changeobjectframe) //removes "dostuff" begivenhed lyttere til knapper savestuff. removeeventlistener (mouseevent.click, saveobjectdata) loadstuff. removeeventlistener (mouseevent.click, loadobjectdata) clearstuff. removeeventlistener (mouseevent. klik, clearobjectdata) //fjerner tegning begivenhed lyttere fase. removeeventlistener (mouseevent.mouse_move, drawdoodle) fase. removeeventlistener (mouseevent.mouse_down, mousedown) fase. removeeventlistener (mouseevent.mouse_up, mouseup) //fjerner unødvendig - removechild (myobject) removechild (savestuff) removechild (loadstuff) removechild (clearstuff) removechild (mycombobox) removechild (mycanvas), test app, det skal fungere perfekt. tillykke!du har officielt rekonstruerede en movieclip ved hjælp af sharedobject klasse!,, skridt 19: at spille animation knap, hvis anvendelse over arbejder, bør kommissionen forelægge en pause, billede af, hvor du reddede myobject.for at få en informationskampagne for at spille igen, lad os skabe en "spille" knappen.her er den, at jeg har valgt:,, trækker det bare nedenunder, myobject, på scenen, og dets eksempel navn til "playanimation." nu tilføje det til bunds i vores konstruktøren: //huder knap playanimation.visible = falske //tilføjer knapper begivenhed til at lytte playanimation. addeventlistener (mouseevent.click, playobjectanimation) så sæt det på bunden af loadobjectdata(),. //viser knap playanimation.visible = sandt endelig tilføje denne funktion til dit program:, privat funktion playobjectanimation e: mouseevent): ugyldig (mynewobject. play()}, gå 20: afsluttende kilde, her er vores endelige anvendelse kildekode.hvis der er forskel mellem din kode, og det, så gå tilbage og se, hvor du tog en anden vej., pakke (import flash.display.bitmap; import flash.display.bitmapdata; import flash.display.graphics; import flash.display.shape; import flash.display.sprite; import fl.controls.combobox import flash.events.event; import flash.events.mouseevent; import flash.geom.matrix; import flash.geom.rectangle; import flash.net.sharedobject; offentlige klasse vigtigste udvider sprite (private var mycombobox: combobox = nye combobox() private var mycanvas: form = nye shape() private var mouseisdown: boolean = falske private var mysavedata: sharedobject = sharedobject. getlocal ("savedata") private var bitmapdatasnapshot: bitmapdata private var mynewobject: myobjecttype offentlig funktion main(): ugyldig (myobject. gotoandstop (1) mycombobox. additem (etiket: "firkant"}) mycombobox. additem (etiket: "trekant"}) mycombobox. additem (etiket: "cirkel"}) addchild (mycombobox) kom (mycombobox. (150) mycombobox. addeventlistener (event.change, changeobjectframe) addchild (mycanvas) fase. addeventlistener (mouseevent.mouse_move, drawdoodle) fase. addeventlistener (mouseevent.mouse_down, mousedown) fase. addeventlistener (mouseevent.mouse_up, mouseup) mycanvas.mask = myobjectasmask myobjectasmask. gotoandstop (1) savestuff. addeventlistener (mouseevent.click, saveobjectdata) loadstuff. addeventlistener (mouseevent.click, loadobjectdata) clearstuff. addeventlistener (mouseevent.click, clearobjectdata) playanimation.visible = falske playanimation. addeventlistener (mouseevent.click, playobjectanimation) privat funktion clearobjectdata e: mouseevent): ugyldig (mysavedata. clear() mycanvas. grafik. clear()} privat funktion loadobjectdata e: mouseevent): ugyldig (mynewobject = nye myobjecttype() mynewobject. x = mysavedata. data. mydataarray [0] mynewobject. y = mysavedata. data. mydataarray [1] mynewobject. gotoandstop (mysavedata. data. mydataarray [2]) mynewobject. getchildat (0). gotoandstop (mysavedata. data. mydataarray [3]) addchild (mynewobject)combobox. removeeventlistener (event.change, changeobjectframe) savestuff. removeeventlistener (mouseevent.click, saveobjectdata) loadstuff. removeeventlistener (mouseevent.click, loadobjectdata) clearstuff. removeeventlistener (mouseevent. klik, clearobjectdata) fase. removeeventlistener (mouseevent.mouse_move, drawdoodle) fase. removeeventlistener (mouseevent.mouse_down, mousedown) fase. removeeventlistener (mouseevent.mouse_up, mouseup) removechild (myobject) removechild (savestuff) removechild (loadstuff) removechild (clearstuff) removechild (mycombobox) removechild (mycanvas) var loadbitmapdata: bitmapdata = nye bitmapdata (640, 480, sandt, 1) loadbitmapdata. setpixels (nye rectanindre (250, 30, 150, 100), mysavedata. data. mydataarray [4]) var display: bitmap = nye bitmap (loadbitmapdata) myobjectasmask. gotoandstop (mysavedata. data. mydataarray [2]) display.mask = myobjectasmask addchild (display) playanimation.visible = sandt} privat funktion playobjectanimation e: mouseevent):. (mynewobject. getchildat (0). play() playanimation.visible = falske} privat funktion saveobjectdata e: mouseevent): ugyldig (var - mydataarrayinprogram: array = nye array() mydataarrayinprogram. tryk (myobject. x) mydataarrayinprogram. tryk (myobject. y) mydataarrayinprogram. tryk (myobject. currentframe) mydataarrayinprogram. tryk (myobject. getchildat (0 currentframe) bitmapdatas).napshot = nye bitmapdata (640, 480, sandt, 0) bitmapdatasnapshot. træk (mycanvas, nul, nul, nul, nye rektangel (250, 30, 150, 100)) mydataarrayinprogram. tryk (bitmapdatasnapshot. getpixels (nye rektangel (250, 30, 50, 100))) mysavedata.data.mydataarray = mydataarrayinprogram flush() mysavedata. spor (mysavedata. data. mydataarray) privat funktion mouseup e: mouseevent): ugyldig (mouseisdown = falske} privat funktion mousedown e: mouseevent): ugyldig (mouseisdown = sandt mycanvas. grafik. til (mycanvas.mousex, mycanvas. mousey)} privat funktion drawdoodle e: mouseevent): ugyldig (hvis (mouseisdown) (mycanvas. grafik. linestyle (5, 0, 1) mycanvas. grafik og gratis linjetil (myc.anvas.mousex, mycanvas. mousey)}} privat funktion changeobjectframe e: begivenhed): ugyldig (hvis (mycombobox.selectedlabel = = "firkant") (myobject. gotoandstop (1)} hvis (mycombobox.selectedlabel = = "trekant") (myobject. gotoandstop (2)} hvis (mycombobox.selectedlabel = = "cirkel") (myobject. gotoandstop (3) mycanvas. grafik. clear() myobjectasmask. gotoandstop (myobject. currentframe)}}}, konklusioner, som du kan se, med en lille smule af abstinenser, det er absolut muligt at redde alle movieclip data i sharedobjects for lastning af senere.det betyder, at hvis du skriver et spil, kan man nemt skabe redde lande i stedet for at have små checkpoints... held og lykke på anvendelse af denne metode for at redde data om dit spil og ansøgninger, bidrage til at gøre deres programmer bedre end nogensinde!tak for det!,











Previous:
Next Page: