skabe flash skærm overgang virkninger udelukkende med kode

, skabe flash skærm overgang virkninger udelukkende med kode,,,,, andel,,,,,,,, 5,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss., - spil er meget brød og smør af indie - nørd kultur.hvis du mener, at den skiver brød menuen og spillet, hvad er der så tilbage?smør - meget stof, der giver brød smag, der er meget mere lækkert.og i form af en flash spil, hvad der kommer i mellem menuer og spil er de overgange.,,,, endelige resultat forpremiere, er dette et eksempel mønster af overgangen, hvorefter vi vil arbejde hen imod:,, trin 1: oprettelse, som sædvanlig er vi nødt til at skabe en ny flash - sagen (actionscript 3, 0).en bredde på 400px dens højde for 200px og billedhastigheden til 30fps.baggrund farve kan stå som standard.gem den fil. det kan være, hvad du vil.jeg opkaldte min, overgange. fia,., nu skal vi skabe et dokument, klasse.gå til dit flash filens egenskaber og dets klasse til overgangen.så skaber det dokument, klasse:, pakke (import - flash. udstilling. *; import flash. begivenheder. *; offentlige klasse overgange udvider movieclip (statisk offentlig var val: antal = nye number(); statiske offentlige var transitionattached: boolean = nye boolean(); offentlig funktion transitions() (val = 0, transitionattached = falske}}} kodeksen kun indført to variabler.for det første vil blive brugt til at udvælge de virkning er mønster, og den anden vil blive anvendt til at kontrollere mod under gentagne tilfælde af virkningen på scenen.,, trin 2: at skabe square sprite, vores næste skridt er at skabe den sprite, der vil blive anvendt som hver square til overgangen.skabe en ny klasse og redde det, square. som:, pakke (import - flash. udstilling. *; import flash. begivenheder. *; offentlige klasse square udvider sprite {offentlige var squareshape: form = nye shape(); offentlig funktion square() {}}}, vi bruger, squareshape, variabel for at drage vores form i sprite.tegne et rektangel 40px af 40px (som er fuld størrelse) og dets omfang, 0,1, en tiendedel af dets størrelse - det vil støtte os i kraft senere:, addchild (squareshape); squareshape. grafik. beginfill (0x000000,1); squareshape. grafik. drawrect (- 20 - 20,40,40); squareshape. grafik. endfill(); this.scalex = 0, 1; this.scaley = 0, 1;,, trin 3: at skabe den virkning, skabe en ny klasse for virkningen af sig selv.når vi er færdige, at virkningen på scenen, vil være meget enkelt:, pakke (import - flash. udstilling. *; import flash. begivenheder. *; import flash. utils. *; offentlige klasse fadeeffect udvider sprite {offentlige var currentfadeout: int = 00; offentlige var currentsquares: int = 01; offentlige var. pausetime: int = 01; offentlige var tempnum: int = 00; offentlige var svagere: string = "i" offentlige var fadeintimer: timer = nye timer (100); offentlige var fadeouttimer: timer = nye timer (100); offentlige var fadearray: array = [//- [[01,01,01,01,01,01,01,01,01,01] [02,02,02,02,02,02,02,02,02,02], [03,03,03,03,03,03,03,03,03,03][04,04,04,04,04,04,04,04,04,04], [05,05,05,05,05,05,05,05,05,05]] //bunden [[05,05,05,05,05,05,05,05,05,05], [04,04,04,04,04,04,04,04,04,04], [03,03,03,03,03,03,03,03,03,03], [02,02,02,02,02,02,02,02,02,02], [01,01,01,01,01,01,01,01,01,01]]] offentlige var squaresarray: array = nye array(); offentlig funktion fadeeffect() {}}}, du tror sikkert, at "det er meget for variabler, hvad er de brugt til?":,, currentfadeout - anvendes som en check på, tempnum, for at se, hvor mange pladser skal barberes,, currentsquares, - den nuværende værdi, der angiver, hvilke felter skal være fastgjort og /eller forseglet,,, pausetime, - et enkelt tal for at give en lille pause mellem skift og fjernelse af sig selv, tempnum, - anvendes til at kontrollere, hvilke tal i nettet skal barberes, svinder, - en snor til at kontrollere, om overgangen svinder ind eller ud, fadeintimer, - en timer, der er kaldet til at begynde ved i den nuværende værdi af currentsquares,, fadeouttimer, - et ur, der er kaldet til at begynde fade ud af den aktuelle værdi af currentsquares,, fadearray - 3d - system, der indeholder alle overgangen mønstre, squaresarray, - et system for square nisser, vores virkning vil begynde ved at indlede en begivenhed til at lytte til, fadeintimer og starte den.vi er også nødt til at tilføje en begivenhed til at lytte til stadighed omfang alle ånderne til deres korrekte størrelse.der anvendes følgende kode indenfor konstruktøren:, fadeintimer. addeventlistener ("ven", fadesquaresintimer); fadeintimer. start(); addeventlistener (event.enter_frame, enterframe), er det næste skridt at skabe disse to tilfælde lyttere.We will start with the easier of the two, the ,enterFrame, function:, public function enterFrame(e:Event){ \tfor each(var s1 in squaresArray){ \t\ttempNum+=1; \t\tif(fading=="in"){ \t\t\tif(s1.scaleX<=1){ \t\t\t\ts1.scaleX+=0.05; \t\t\t\ts1.scaleY+=0.05; \t\t\t} \t\t}else if(fading=="out"){ \t\t\tif(tempNum<=currentFadeOut){ \t\t\t\tif(s1.scaleX>=0.1){ \t\t\t\ts1.scaleX-=0.05; \t\t\t\ts1.scaleY-=0.05; \t\t\t\t}else{ \t\t\t\t\tif(s1.visible == true){ \t\t\t\t\t\ts1.visible = false; \t\t\t\t\t} \t\t\t\t} \t\t\t} \t\t} \t} \ttempNum=00; },It may not make total sense right now, but this should help shed some light., ,s1, is the instance name that will be given to the Squares when we create them in a later function.,They are added to an array called ,squaresArray, to keep track antallet af dem, og vi har den samme operation for hver genstand på nettet. næste øges, tempnum, (anvendes i de svagere, hvis udtalelse), der anvendes som målestok, som den sqaures i den rækkefølge, de blev tilføjet til nettet.dette betyder, at det ikke er - afhængige og vil arbejde med et mønster, efter det..., tjekker vi, hvis svinder, er ægte eller ej. hvis sandt, det vægte alle pladser, indtil de når deres fulde størrelse (begynder de mere umiddelbart efter currentsquares stiger), når den begynder ved at forsvinde. det bliver lidt sværere, vi kun indskrænke de pladser, der er lavere end den aktuelle værdi af currentfadeout, det er dem, der bør være mere, alle andre bør forblive i fuld skala til værdien stiger), når de har skåret ned til en tiendedel af den størrelse, vi kan gøre disse pladser usynlige (de vil blive slettet med den samlede virkning). det er på tide at tilføje tilfælde til at lytte til de timer: offentlig funktion fadesquaresintimer e: begivenhed) (fadesquaresin (fadearray [overgange. val]); currentsquares + = 1}, ved første øjekast ser mindre kompliceret, men man skal lægge mærke til, at vi kræver en funktion med, fadearray, som parameter.hvilket mønster er udvalgt fra system afhænger af, hvad du, val, lige i overgangene klasse; det bør anvende den første mønster for val, er sat til 0., det næste skridt er at skabe, fadesquaresin, funktion, der kaldes fra den foregående timer: offentlig funktion fadesquaresin (s: system) (for (var - ro = 0, række < [0]. længde; linje + +) (for (var kol = 0, kol < s.length; kol + +) {}}}, første ting, vi gør, er iterating gennem udvalgte mønster.vi begynder på række 1 colomn 1 og cyklus igennem alle colomn indtil slutningen af linjen er nået.så går vi videre til næste træk, og gentag processen. den næste ting at gøre, er at sammenligne de nuværende post i nettet til en værdi af currentsquares: hvis (int ([om] [række]) = = currentsquares) {}, hvis de svarer vi tilføje en square, position i overensstemmelse hermed, og skubbe på, squaresarray, således at det kan skaleres:, var s1: sprite = nye square(); s1. x = 20 + (række * 40); s1. y = 20 + (kol * 40); addchild (s1); squaresarray. tryk (s1), vi er næsten færdige med denne funktion, vi bare nødt til at udføre en kontrol, når der er det samme antal pladser, som der er poster i det mønster.vi gør det ved at tilføje følgende, hvis udtalelse uden for både loops: hvis (squaresarray.length = = ([0]. længde * s.length)) (fadeintimer. stop(); addeventlistener (event.enter_frame, pausebetween)}, selvforklarende - vi stoppede timeren og ringede til en begivenhed til at lytte til pause mellem svinder ind og fade ud.denne funktion er vant til at indlede de svagere og kan også anvendes til at fremkalde ændringer i dit spil: offentlig funktion pausebetween e: begivenhed) (pausetime + = 1; hvis (pausetime = = 60) (currentsquares = 01; falmer = "ud". fadeouttimer. addeventlistener ("ven", fadesquaresouttimer); fadeouttimer. start(); removeeventlistener (event.enter_frame, pausebetween)), kan vi ikke bruge meget tid på denne funktion på grund af sin enkelhed.her har vi øge værdien af, pausetime, og, når det er lig med 60 (dvs. to sekunder er der gået, vi fastsætter værdien af currentsquares, tilbage til 1, klar, svinder, at "ud", således at de pladser kan omfang baglæns, fjerne de lytter, pausebetween(), selv, og tilføje en begivenhed til at lytte til denne nye funktion: offentlig funktion fadesquaresouttimer e: begivenhed) (fadesquaresout (fadearray [overgange. val]); currentsquares + = 1}, det virker meget gerne, fadesquaresintimer(), men denne gang er vi kalder den funktion, fadesquaresout(): offentlige funktion fadesquaresout (e: system) (for (var - ro = 0, række < [0]. længde; linje + +) (for (var kol = 0, kol < s.length; kol + +) (hvis (int (s [om] [række]) = = currentsquares) (currentfadeout + = 1}}}}, vi cyklus, men denne gang, når vi finder et tilsvarende punkt vi øge værdien af, currentfadeout, således at det næste punkt på, squaresarray, kan begynde at fade ud. er næsten færdig nu. det eneste, der er tilbage, er at stoppe uret og fjerne virkning.tilføje dette, hvis udtalelse uden for to loops: hvis (currentfadeout = = ([0]. længde * s.length)) (fadeouttimer. stop(); pausetime = 01; addeventlistener (event.enter_frame, delayedremove)}, det kontrollerer, om alle de produkter, der er begyndt at fade ud.hvis det så standser uret, fastsætter, pausetime, tilbage til 1 og tilføjer en begivenhed til at lytte til den funktion, delayedremove(): offentlige funktion delayedremove e: begivenhed) (pausetime + = 1; hvis (pausetime = = 30) (transitions.transitionattached = falske removeeventlistener (event.enter_frame, delayedremove) fase. removechild ()), som før vi øge værdien af, pausetime, og, når det er lig med 30, stk. 1, andet), fastsatte vi den boolean tilbage, falske, således at virkningen kan tilføjes endnu en gang.vi fjerner denne begivenhed til at lytte, og vi fjerner denne virkning fra det tidspunkt, trin 4: forøgelse af effekten, nu bliver det let.der tilføjes følgende kode i dokumentet klasse konstruktøren at tilføje virkning: hvis (transitionattached = = falske) (transitionattached = sandt, var f1: sprite = nye fadeeffect; stadie. addchild (f1);}, løntrin 5: at skabe større mønstre, føle sig fri til at skabe deres egne mønstre.det er meget simpelt, skaber en ny 2d array i 3d - system.her er det system, som jeg har skabt (erstatte din 3d - vifte med det).det omfatter 8 forskellige overgangsperioder: [//top - [[01,01,01,01,01,01,01,01,01,01], [02,02,02,02,02,02,02,02,02,02], [03,03,03,03,03,03,03,03,03,03], [04,04,04,04,04,04,04,04,04,04], [05,05,05,05,05,05,05,05,05,05]] //bunden [[05,05,05,05,05,05,05,05,05,05], [04,04,04,04,04,04,04,04,04,04], [03,03,03,03,03,03,03,03,03,03], [02,02,02,02,02,02,02,02,02,02], [01,01,01,01,01,01,01,01,01,01]] //venstre [[01,02,03,04,05,06,07,08,09,10], [01,02,03,04,05,06,07,08,09,10], [01,02,03,04,05,06,07,08,09,10], [01,02,03,04,05,06,07,08,09,10], [01,02,03,04,05,06,07,08,09,10]] //- [[10,09,08,07,06,05,04,03,02,01], [10,09,08,07,06,05,04,03,02,01], [10,09,08,07,06,05,04,03,02,01], [10,09,08,07,06,05,04,03,02,01], [10,09,08,07,06,05,04,03,02,01]] //øverste venstre [[01,02,03,04,05,06,07,08,09,10], [02,03,04,05,06,07,08,09,10,11], [03,04,05,06,07,08,09,10,11,12], [04,05,06,07,08,09,10,11,12,13], [05,06,07,08,09,10,11,12,13,14]] //top - [[10,09,08,07,06,05,04,03,02,01], [11,10,09,08,07,06,05,04,03,02], [12,11,10,09,08,07,06,05,04,03], [13,12,11,10,09,08,07,06,05,04], [14,13,12,11,10,09,08,07,06,05]] //nederste, venstre [[05,06,07,08,09,10,11,12,13,14] [04,05,06,07,08,09,10,11,12,13], [03,04,05,06,07,08,09,10,11,12], [02,03,04,05,06,07,08,09,10,11], [01,02,03,04,05,06,07,08,09,10]] //nederste højre [[14,13,12,11,10,09,08,07,06,05], [13,12,11,10,09,08,07,06,05,04], [12,11,10,09,08,07,06,05,04,03], [11,10,09,08,07,06,05,03,03,02], [10,09,08,07,06,05,04,03,0201]]], kan du ændre den værdi, transitions.val, at vælge et andet mønster - hvis for eksempel, val, 3, overgangen vil feje ind fra højre, indgåelse, tak, fordi du tog dig tid til at læse denne forelæsning.hvis du har spørgsmål, læg en bemærkning nedenfor.og hvis du vil have en udfordring, prøv at virkningen forsvinder i med et mønster og forsvinde med en mod en.



Previous:
Next Page: