, flashpunk BU onderdelen: geavanceerde grafische, extra huid, en Polen,,,,,,,,,,,, deel 3,,,,,,, het netwerk van delen van maandag wat tuts + cursussen. Zal worden beperkt tot slechts drie dollar.Niet' niet missen.,, in deze handleiding zullen we afmaken wat we begonnen zijn in het eerste deel van de bu flashpunk mini - reeks.We leren hoe we de gewoonte van de vergadering de grafische en een aanpassing van de interfaces, die ons perfect., aan het eind van de preview, laten we eens kijken naar de resultaten van de laatste, en wij zullen proberen om ervoor te zorgen dat je op alles:,, om te zien hoe het reageert.Afdeling 1: hoe open je brengen, stappen 1.1: de bestaande programma 's, en als je het niet doet, zorg dat je een deel van de download - code.In het dossier FlashDevelop (informatie) voor de upgrade je BU!1.2: iets tekenen, en we moeten de volgende stap te doen, wat we moeten doen is de gewoonte op grote schaal grafische interface, de gebruikersinterface te leren hoe we de tekening van de directe en de code voor iets.Waar moeten we als we een van de bu in elke lidstaat (in het algemeen de drukknop vakje niet geselecteerd die normaal het vakje, selectie, enz.), en dus moeten we veel foto 's.Nu, laten we zeggen, wil je een andere kleur voor elke knop, en zelfs een andere vorm voor elk willekeurig gekozen, en...We kunnen er miljoenen beeld: zo hard dat ze verbruikt te veel herinneringen, maar aan het begin van die componenten zelf, moeten we eerst leren hoe gebruik te maken van de code in flashpunk iets tekenen.,, 1.3 stap: het opstellen van een test van de wereld, in de eerste plaats moeten we een nieuwe wereld te testen. Dingen.Het creëren van een nieuwe wereld, bekend als de drawworld, dat God te beginnen, drawworld. Zoals: invoer, pakje {net.flashpunk.world; in de wereld drawworld uitbreiding {{}}} drawworld () openbare functie: het gebruik van flashpunk 1.4, stappen van het instrument, de flashpunk motor heeft verschillende instrumenten kunnen we trek iets Op het scherm of een BitmapData. Deze functie is:,,,,, rectplus lineplus rond, rechthoekig,,,,,,, circleplus, bochten, (de rest is gebruikt voor het trekken van andere soorten dingen)."En" versie van een grotere keuze en betere resultaten (het gebruik van anti - gekarteld) maar meer CPU 's van intensieve, handig gebruik maken van de methode van de wereld; het je of een entiteit en een beroep doen op deze functie, deze functie herschrijven, waardoor we drawworld, dit deel van de vorm, De dekking van openbare functies ({-): ongeldig. (); de lijnen (10, 10100100, 0x00ff00); foto' s. Rectplus (120120200200, 1, 2, 0x9999ff, echt, 10); de cirkel (50, 100, 0xFF0000; de bochten (100). 90122122 100140,, 1, 0x00ffff, 3); stap 5:}, dat is langzaam.Deze methode, de vraag is, is het echt, langzaam.We trekken in de weer dezelfde dingen, want er is geen reden, op het scherm.Dit zal zeker als er iets veranderd elk frame, maar als het dat niet is, dan is een verspilling van middelen, wat we moeten doen is, het creëren van een beetje opslag van gegevens van onze tekeningen, en ze was of dat ze elke keer veranderen.Dan moeten we voor de weergave op het scherm van het gebruik van copypixels BitmapData,,, dit is een snellere manier om te doen...Of we kunnen de toevoeging van een stempel, dit is een flashpunk graphics, is gedaan: het trekken van een BitmapData scherm, dat schilderij geschilderd op een scherm bitmap gegevens niet gebruiken, kunnen we gebruik maken van indicatoren voor het vaststellen van de functie van het,,.De toekomst schilderen, draw.resettarget, commando 's naar het scherm, dat is wat we nu drawworld code.Als je de test, moeten de resultaten van het pakket is precies hetzelfde, voordat flash.display.bitmapdata {van invoer net.flashpunk.graphics.stamp; de invoer van net.flashpunk.utils.draw; de invoer uit de wereld drawworld net.flashpunk.world; de cursus openbare functies () {herschrijven met:void {-); var. "(Foto: BitmapData = nieuwe bitmap gegevens (,, echt, 0) de vaststelling van indicatoren; foto 's. ('); de lijnen (10, 10100100, 0x00ff00); foto 's. Rectplus (120120200200, 0,5, 0x9999ff, echt, 2, 10); de cirkel (50, 100, 0xFF0000); de bochten (100. 100140, 90122122, 1, 3); 0x00ffff, addgraphic (de nieuwe stempels (grafiek);}}}, stappen 1.6: geavanceerde tekening, oké.We weten hoe de cirkel, lijnen, vierkant, enz. En een BitmapData nu.Ja, ik wil een mooie knopen, niet een simpele cirkel een vierkant een slechte knop.Dit is de reden waarom we moeten geavanceerde tekeningen, geavanceerde tekening is een concept van de verwijzing naar het gebruik van 3 heb ik voorgesteld de API - directe (en, je weet wel, als je schilderijen elf, in de vorm van de grafiek).In dit proces is: ten eerste, het creëren van een geest, dan kunnen we een patroon.Dan trekken we ons hebben elf cijfers.Tot slot, we maken een BitmapData Sprite.De voltooiing vanHet gebruik van dit proces, dat we kunnen leren van geavanceerde vorm en het gebruik van geavanceerde gevuld, zoals een aantal geweldige verkennende gradiënt knop.- ja.Ik wil niet uitleggen, als je niet weet hoe het werkt, je weet niet hoe het werkt, want het is niet de reikwijdte van deze handleiding, maar er zijn aanzienlijke middelen in een netwerk om gebruik te maken van de grafische klasse.Maar je kan niet op de vlucht voor het creëren van een grafiek, je kan niet "foto 's" van het overal.Integendeel, we kunnen het creëren van een geest, en het gebruik van het grafische kenmerken de tekening.En dan, als het gebruik van flashpunk grafische Sprite, wij zullen het een BitmapData, hier is een voorbeeld van de code, die ik in het trekken van een rechthoek met de invoer van flash.display.bitmapdata {: pakket; de invoer van flash.display.graphics; de invoer van flash.display.sprite; de invoer van flash.geom.matrix; de invoer van net.flashpunk.fp; de invoer van net.flashpunk.graphics.stamp; de invoer van net.flashpunk.world; de uitbreiding van de drawworld {herschrijven. De openbare functie () {-:void beginnen. Beginnen (); var Sprite: Sprite = nieuwe elf; var G: grafische = sprite.graphics; var gradientmatrix: de matrix = nieuwe matrix (); gradientmatrix. Creategradientbox (200 tomografie * fp.rad, 0, 0); g.begingradientfill ("lineaire" [0x6acfff, 0x005f8c [1], [1], en gradientmatrix) 0255]; g.drawroundrect (0, 0200, 50, endfill (20); g); var BD:BitmapData = nieuwe bitmap gegevens (200, 50, echt, 0); bd.draw (?); addgraphic (de nieuwe stempels (NL - b) 0100 50);}}}, in de lijn van 17 - 18:,, creëren we een tovenaar, grafieken, eigendom van de schilderijen, en we zullen het grafische variabele noemen, G, niet typen.,, punten 20 en 21:, creëren we een gradiënt matrix, dit is de noodzaak van een geleidelijke vullen.We bieden onze grote omvang en de grootte van de roterende (270 graden, vermenigvuldigd met de KP 's. Raad).Wanneer de vakken worden in onze foto 's (0,0), verzameling, tx, ty, eigenschappen van 0, 22 - 24:., lijn, dat de geleidelijke gevuld figuur rond ELVEN.,, 26 - 27:, creëren we een BitmapData grafische omvang, zodat het, SPRITE. 29:,, we creëren een stempel, die ons BitmapData er elf, en voeg het toe aan de hele wereld (100, 50),,,,, de resultaten van 1,7: filter: stappen.Mooi, we zijn nu klaar voor de foto 's van de knop...Maar kunnen we stap voor stap, laat ze zien er beter uit.Om dit te bereiken de top zelf, in de grafiek, we kunnen ze nog aan het filter.Flash, kunnen we aan de schaduw van filters, Glow - filter - filter, enzovoort, heel makkelijk, toevoeging van filters, maar we moeten in de elfen, filter - en we of we gebruik willen maken van bitmapfilters, gebruiken we applyfilter (), Bd, hebben we al die elfen., laten we nog in de gloed. En de schaduw filteren we rechthoekig van vorm en kleur verandert. We kunnen het beter bekijken, dus.Hier, voor de functie van de code: "():void {fp.screen.color = 0xd9f2ff; super." (); var Sprite? = nieuwe elf; var G: grafische = sprite.graphics; var gradientmatrix: de matrix = nieuwe matrix (); gradientmatrix. Creategradientbox (200 tomografie * fp.rad, 0, 0); g.begingradientfill ("lineaire" [0x6acfff, 0x005f8c], [1] [1], Moscovici,, gradientmatrix); g.drawroundrect (0, 0200, 50, endfill (20); g); sprite.filters = [nieuwe monochrome lichtgevende filter (0xffffff, 1, 10, 10, 1, 3, echt. De nieuwe dropshadowfilter (8, 0, 45, 0,8, 10, 10, 1, 3)]; var BD:BitmapData = nieuwe bitmap gegevens (200, 50, echt, 0); bd.draw (?); addgraphic (de nieuwe stempels (NL - b) 0100, 50);}, als je preview curveNT code, zie je een beetje van de filters.Laten we het op te lossen.1.8 het snelle herstel van de stap: filter, ten eerste...Waarom ziet het eruit snijden?Eigenlijk, het probleem is dat we BitmapData is de omvang van de knop, maar de schaduw is groter dan de knop.Dus, als de geesten van de BitmapData, als schaduw niet geschikt is voor de BitmapData, zo lijkt het, op de meest eenvoudige methode, namelijk de uitbreiding van BitmapData.We zullen ook een compensatie voor de X - en Y - elf, als de schaduw van de top en een knop aan de linkerkant. ///////sprite.filters, [...] = [nieuwe kleur - filter (0xffffff, 1, 10, 10, 1, 3, echt dropshadowfilter (8), De nieuwe, 45, 0, 0,8, 10 1, 3, 10, bd)]; var:BitmapData = nieuwe bitmap gegevens (250100, echt, 0); m = nieuwe matrix var: de matrix; m.tx = 20; m.ty = 20; bd.draw (Sprite, m); var drukken: drukkerijen van = (NL - b). De nieuwe Postzegels Postzegels. X = -m.tx; stempel. Y = -m.ty; addgraphic (stempel, 0100 uur, 50); we ook compensatie van de X - en Y - stempel van de negatieve afwijking van de tekening gevonden.Zo, druk op de knop te coördineren (100, 50) van oorsprong uit de ronde rechthoek, en niet uit de schaduw, het is op dezelfde plek, zoals maatregelen voor: de oneindige mogelijkheden, 1.9.Zie je, in combinatie met de 3 de API - en filter kan leiden tot indrukwekkende resultaten.De mogelijkheden zijn eindeloos, als je weet hoe het werkt, dus misschien is het te lezen over de API - en filters, bijvoorbeeld, heb je een pakje 3 filtering van programma 's, met verbazingwekkende resultaten: flash special effects.En een coole statische verstoring filter: het gebruik van de DisplacementMapFilter Statische doorbuiging, training en het effect van duizenden flash filter en de API - in het netwerk, je kan de toepassing van de bu naar je.Beter is: als je kennis, je kan je eigen verbazingwekkende effect 2: de voorbereiding van onze gebruikersinterface maatregelen 2.1: wederopbouw van de gebruikersinterface code, laten we de verwezenlijking van al deze tekening, iets wat we de gebruikersinterface.Ten eerste, bij de voorbereiding van alle codes nodig om een geest van elk element van een BitmapData moet ons schilderij is een beetje dom, we hebben een ondersteunende functie, voor ons zullen doen, elke keer als we het nodig hebben.Zodat we niet herhalen, we gaan deze extra functies in de basis, van alle gebruikers interface elementen worden uitgebreid.We noemen het, onderdelen, op de bu, mappen, en het uit te breiden, entiteiten,, pakket: BU {net.flashpunk.entity component van de invoer; de uitbreiding van de entiteit (de functionele componenten (x = 0: aantal, y: hoeveelheid = 0) {Super (x, Y);}}}, nu we BU, de uitbreiding moet veranderen, in plaats van een entiteit.We moeten alleen de knop en het vakje voor verlenging en uitbreiding van de knop textinput, onderdelen en uitbreiding van de indirecte radiobutton vakje hetzelfde gebeurt. Stap 2:,, de ondersteunende functie, met als basis de code trekken we onze Cool gradient-y knop, zullen we de oprichting van dit aanvullende functie.Dit is het werk van de vergadering:,,, zal er een bescherming, elfen, en variabele,.Zo kan je in een grafiek toevoegen. En grafische weergave.Ze zullen het eeuwige leven, dus je moet ze schoon als je in dezelfde vergadering waarbij meerdere dingen, en ze volledig vernietigen als ze niet meer nodig, en dan, de functie, het zal leiden tot een BitmapData aangewezen en de omvang van de geesten.Dan zal het weer een stempel BitmapData bevat, is klaar voor gebruik.Er is een van de kenmerken van de grafische en Sprite schoongemaakt en meerdere malen gebruikt, als je echt moet gebruik maken van de verschillende functies van de elfen, kan door middel van een parameter.Bij ontstentenis van de parameters van de elf lidstaten wijzen categorie, flash.display.bitmapdata BU - pakket. De invoer; de invoer van flash.display.displayobject; de invoer van flash.display.graphics; de invoer van flash.display.sprite; de invoer van flash.geom.matrix; de invoer van net.flashpunk.entity; de invoer van net.flashpunk.graphics.stamp; uitbreiding van de entiteit (de bescherming van openbare vergadering var Sprite: Sprite; bescherming. G: grafische; de functionele componenten: aantal (x = 0, y = 0): de hoeveelheid {(x, Y); een Sprite = nieuwe elf; g = sprite.graphics; _m = nieuwe matrix (}); particuliere var _m: de matrix; bescherming drawstamp (breedte, lengte: nummer, offsetx: hoeveelheid = 0, offsety: hoeveelheid = 0, d):Isplayobject = nul) (bijvoorbeeld: (stempel? = = nul) Sprite = this.sprite; var BD:BitmapData = nieuwe BitmapData (breedte, lengte, echt, 0); _m.tx = offsetx; _m.ty = offsety; bd.draw (Sprite, _m); is het nieuwe stempel (NL - B, offsetx, - - offsety);}}}, stap 2.3: op basis van de grafische gebruikersinterface te verwijderen, dan nemen we de verschillende methoden voor het uitvoeren van villen.Op basis van onderdelen (knop, vakje, enz.) zal worden gehouden door de daad zelf geen patroon.Dan kunnen we ze op de knop, de verlenging van gamebutton, mutebutton, enz.), met inbegrip van het gedrag van bepaalde cijfers, dus in de eerste plaats moeten we naar onze Vergadering grafische weergave.We zullen ook de omvang van de invoer van onderdelen van de spelers, stap uit. En door het schrappen van de grafische knop: de knop, ten eerste, moeten we een einde maken aan de beelden te creëren, en voor het variabele.We zullen vervangen, etikettering: tekst, eigendom staan bekend als de tekst.We moeten een breedte en hoogte van de openbare instellingen; hits, de uitbreiding van de bescherming van een normaal onderdeel - knop: int = 0; - zweefmodus: int = 1; totaal int = 2: bescherming van de variabele klikken op:; booleaanse = vals; bescherming van de tekst: het touw; de risico 'S van variabele terugkomen: de functie van de variabele parameters; de openbare functie: doel; de knop (x = 0: aantal, y: hoeveelheid = 0, tekst, breedte: de hoeveelheid = 150, hoogte: aantal = 50, call - back - functie: functie = nul, parameters: object = nul) (ultra (x, Y); this.callback = verbeteren; this.params = parameters; this.text = tekst; sethitbox (breedte, lengte)) ///////; [...]}, dan halen we de, in de rendergraphic, de functie, het component.Het Europees beoordelingsdocument.We leeg staat, te veranderen, kan functioneren, omdat het in de huid.En het zal ook worden geschrapt, omdat we niet van een etiket te maken.Dus, na de bijwerking van de functie, we hoeven niets te veranderen, we zijn zo: bescherming en verandering in de status (status: int = 0): ongeldig {}): bescherming van de functie (ongeldig als (call - back -!= nul) {als (params!= nul) (params); - andere ('); de tweede ronde}}, kunnen we ook nog een, laststate, variabelen, en stelt het, veranderingen van de staat, de functie van de huid, als we het nodig hebben.Weet je nog, laststate, wordt voorzien in wijzigingen van de staat, de functie, het, als we gaan met de nieuwe acties in de eerste rij, super, een einde te maken aan de telefoon, bescherming var laststate:int = 0; bescherming van de functie veranderen (staat: int = 0): ongeldig {laststate = Staat;}, stap uit, 23: de verwijdering van radiobutton grafische, voor het vakje, we hoeven te veranderen en de fabrikant van de staat dekking in alle grafisch ontwerp.De knop voor de radio, en we moeten in de fabrikant het schrappen van de grafische gecreëerd.We zullen ook de toevoeging van twee van de breedte en hoogte van de parameters, de nieuwe vakje: BU {gemeenschappelijke cursussen, pakje vakje uitbreiding van de variabele inspectie: knop {booleaanse = vals; de openbare functie vakje (x = 0: aantal, y: hoeveelheid = 0, tekst, breedte = aantal 150 ": een hoge mate van: de hoeveelheid = 150, call - back - functie: functie = nul, parameters: object = nul controles: booleaanse = vals) {(x, Y, hypertextpakketten, breedte, lengte, call - back -, params); this.checked = controles die betrekking hebben op de bescherming van de functie;} (): ongeldig {controle =!Controleer; als (terug te bellen.= nul) {als (params!= nul) (onderzoek - en andere parameters); de call - back - (controle);}}}} {verpakking: de nieuwe radiobutton, BU - klassen radiobutton vakje (uitbreiding van de interne var - groep: radiobuttongroup; de functie van radiobutton: aantal (x = 0, y = 0): aantal: radiobuttongroup = nul, tekst: string = ", met een breedte van: de hoeveelheid = 150, hoogte: aantal = 50, parameters: object = nul controles: booleaanse = vals) {(x, Y, hyper -, breedte, lengte, ruimte en parameters, controle); als (groep) groep toe te voegen (dit), die betrekking hebben op de bescherming van de functie (;)): ongeldig {groep. - (de) de functie van de parameters); voor de:void opgeheven () {super. Verwijderd (); de groep. Het schrappen van (de);}}}, stap 2.3c: bestrijding van grafische heen en weerM textinput, de inbreng van de tekst, moeten we een einde maken aan de, textgraphic, de aard, en het scheppen van arbeidsplaatsen.We zullen ook de toevoeging van een functie, dus we kunnen het geval was, in de huid van de verandering van het pakket flash.events.keyboardevent, BU (invoer net.flashpunk.fp; de invoer van net.flashpunk.utils.input; de invoer van net.flashpunk.utils.key; de uitbreiding van de textinput onderdelen {bescherming. _text: string "; de bescherming van de werken van: booleaanse = vals; de statische var geconcentreerd: textinput; particuliere var _focused: booleaanse = vals; de functie van textinput (x = 0: aantal, y: hoeveelheid = 0, tekst: string, rijen: booleaanse = vals, breedte: de hoeveelheid = 150, hoogte: aantal = 30) {(x, Y); - this.multiline =; this.text = de tekst; type =" uitextinput "; sethitbox (breedte, hijVlucht);} voor openbare functies toegevoegd () () {-:void. "; f. Fase. AddEventListener (keyboardevent.key_down, onkeydown); (e) bescherming van de functie: mobiele): ongeldig als (in de wereld.= KP. De rest van de wereld) terug te keren; als (textinput.focus!= het terug als (kan); = = = _text belangrijke tekst. Backspace). Substr (0, _text.length - 1); anders als (= = key.enter & & rijen) tekst + = "n" voor de openbare functie;} {-:void opgeheven () (); de KP 's verwijderd. (keyboardevent.key_down. Fase. RemoveEventListener, onkeydown); bescherming van de gebeurtenissen (met de nadruk op de functie van} {}: booleaanse): openbare functie die niet werken () {-:void. Actualisering (); als (textinput.focus = = het) {als._focused) {onfocus (echt); _focused = echt}}; anders als (_focused) {onfocus een (pseudo); _focused = vals;} als (input. MousePressed) {als (collidepoint (x, Y, world.mousex, wereld. Muizen)) {textinput.focus = het input.keystring = ";}, andere Als (!De rest van de wereld. Collidepoint ("uitextinput", world.mousex, de wereld meer textinput.focus = nul);} als (textinput.focus = = het & & input.keystring!= ") {+ = input.keystring tekst; input.keystring =";}} openbare functie () {} _text: weer een openbare functie; vaststelling van de tekst (waarde: string): ongeldig {_text = waarde;}}}, maatregelen voor het examen, 2.4: alles is klaar om te beginnen, een van Onze huid.Maar eerst moeten we wat onze testworld.Om dit te bereiken, in de eerste klasse, wijzen op de drawworld veranderen, zodat het op testworld. En als je het probeert, zal je zien dat de wereld een blanco.Verwacht wordt dat in onze vergadering, we verwijderen alle beelden.Maak je geen zorgen, hoewel, we beginnen te villen.Afdeling 3:,, pellen, een integrerend deel van de maatregelen 3.1: los van de knop, en nu moeten we gaan, stap voor stap, het hele proces van het deel met de knop.We zullen zien dat de meest voorkomende technische, je moet in je eigen onderdelen: villen tekening, nog een mooie animatie, coole geluid, de ogen snoep, of zelfs een pixel perfecte botsing technologieën en het veranderen van de muis icoon van de hand, dat de leden, op moeten voorbereiden. Kan je huid wil je een deel van je eigen weg, is er geen probleem.We zullen het gebruik van de kennis en de knop om de huid vakje knopen leren we hoe we de huid van meer complexe en verschillende knoppen in de tekst, dan zullen we de oprichting van een extra vergadering en huid,,, stap 3: de normale patroon, in de eerste plaats doen we een knop om blijk te geven van een normale patroon.We gebruiken dezelfde coole beelden, we trekken het gebruik van in de wereld.Dus, in principe, we een kopie van ons verleden en dan bellen, drawstamp, die elfen in functie van een stempel, zullen we het van een grafisch knop, voor dat, hoewel, we hebben een druk op de knop!Het creëren van een blauwe, dat "het dossier,.Dit is voor ons om de huid van alle ingrediënten in hier.We zullen ze blauw, je kan het wel raden.Dat is voor ons een organisatie van de dingen.Op je spel, misschien wil je naar de verschillende dossiers op je huid, interfaces, de verschillende dossiers, en bel ze, net als de menu 's, spelletjes, enzovoort, en dan kiezen, een soort uit te breiden de knop, blauwe MAP: invoer, blauwe knop. {BU en selectie van de openbare natuurlijk. De uitbreiding van openbare functies en de keuze van de knop {(x = 0: aantal, y: hoeveelheid = 0, tekst, breedte: de hoeveelheid = 150, hoogte: aantal = 50, call - back - functie: functie = nul, parameters: object = nul) ((x, Y, - De tekst, de breedte, de hoge graad van - params);}}}, en nu, zullen we de code in openbare functies en de keuze van de fabrikant: aantal (x = 0, y:: = aantal 0, tekst van de reeks ", met een breedte van: de hoeveelheid = 150, hoogte: aantal = 50, call - back - functie: functie: = = = = = = = nul, parameters. Nul) ((x, Y, hyper -, breedte, lengte, call - back -, params); var gradientmatrix: de matrix = nieuwe matrix (); gradientmatrix. Creategradientbox (200 tomografie * fp.rad, 0, 0); g.begingradientfill ("lineaire" [0x6acfff, 0x005f8c], [1] [1],, Moscovici, gradientmatrix); g.drawroundrect (0, 0200, 50, endfill (20); g); sprite.filters = [nieuwe monochrome lichtgevende filter (0xffffff, 1, 10, 10, 1, 3, echt dropshadowfilter (8), de nieuwe, 45, 0, 0,8, 10, 10, 1, 3).; grafische = drawstamp (220, 70, 5, 5);}, voor het testen van het testworld creëren, moeten we op de knop.Dus, opmerkingen of schrapping van alle onderdelen tot, en een nieuwe blauwe band vervangen.Bovendien zal de achtergrond van kleur veranderen in het licht.Dit is mijn testworld, te beginnen met de functie van openbare functies ter dekking van:,,:void beginnen () {-); fp.screen.color. "(= 0xd9f2ff; toevoeging van (nieuwe kiezen (200, 10," de blauwe knop! "); toevoeging van (nieuwe kiezen (20100, "dikke knop, 500200));}, als je de test van de projecten, zie je de knop worden aangetrokken.Maar ze zijn allemaal van dezelfde grootte, zelfs als we de dikke knop aangewezen is zeer groot.Laten we wat taart voor de knop.,, 3.3 stap: de omvang van de knop van de grafische, ten eerste, ik wil de aandacht van het in een ondersteunende functie grafische knop te kiezen.Schoon, openbare of zoiets, en uitbreiding van de functie van de keuze van de knop {te kiezen (x = 0: aantal, y: hoeveelheid = 0, tekst, breedte: de hoeveelheid = 150, hoogte: aantal = 50, call - back - functie: functie = nul, parameters: object = nul) (super - X, Y, de tekst en de breedte, lengte, call - back -, params); grafische = drawbutton (breedte, lengte);} beschermende functie drawbutton (breedte, lengte: aantal): stempel {VAR gradientmatrix: de matrix = nieuwe matrix (); gradientmatrix. Creategradientbox (200 tomografie * fp.rad, 0, 0 g.begingradientfill ("); lineaire" [0x6acfff, 0x005f8c], [1], [0255], gradientmatrix); g.drawroundrect (0, 0200, 50, endfill (20); g); sprite.filters = [nieuwe monochrome lichtgevende filter (0xffffff, 1, 10, 10, 1, 3, echt), nieuwDropshadowfilter (8, 0, 45, 0,8, 10, 10, 1, 3)]; terug naar drawstamp (220, 70, 5, 5);}}, alles wat we doen is de knop die dingen van de fabrikant van een ondersteunende functie.De ondersteunende functie terug te keren en de etikettering, vereist een breedte en lengte.We zullen de grafische vastgesteld voor postzegels.Nu moeten we doen voor het gebruik van de werkelijke breedte en lengte, alle veranderingen, wat we moeten doen is de doos in de matrix gradiënt vierkante figuur en postzegels te creëren.Omdat de filters, de stempel te creëren is er behoefte aan een grotere omvang.Dit is de laatste code beschermende functie, drawbutton (breedte, lengte: aantal): stempel {VAR gradientmatrix: de matrix = nieuwe matrix (); gradientmatrix. Creategradientbox (breedte, lengte, 270 * fp.rad, 0, 0); g.begingradientfill ("lineaire" [0x6acfff, 0x005f8c] [1] 1,,, [0255], gradientmatrix); g.drawroundrect (0, 0, breedte, lengte, endfill (20); g); sprite.filters = [nieuwe monochrome lichtgevende filter (0xffffff, 1, 10, 10, 1, 3, echt dropshadowfilter (8), de nieuwe, 45, 0, 0,8, 10, 10, 1, 3)]; terug naar drawstamp (breedte lengte 20, 20, 5, 5);}, hier zijn de resultaten.Als je op ze als ze niet alles doen, maar ze is een echte knop.Stap in, 3.4: verblinding en grenzen, laten we een beetje beter toe te voegen aan de grens en verblinding, verhoging van de grens is heel gemakkelijk.We kunnen twee dingen doen: door gebruik te maken van de lijn - knop in een cirkel van grafische vakken, of het gebruik van een filter.De eerste zou kunnen laten we vreemd lijkt, maar als de innerlijke licht zal ook betrekking hebben op de grens, dus laten we samen voor de methode van het filter, zelfs in de flash geen specifieke borderfilter effect kan gemakkelijk door gloed filters met een hoge en lage Fuzzy.We voegen - filters en de schaduw van een filter van de beschermende functie van tussen de, drawbutton (breedte, lengte: aantal): stempel {VAR gradientmatrix: de matrix = nieuwe matrix (); gradientmatrix. Creategradientbox (breedte, lengte, 270 * fp.rad, 0, 0); g.begingradientfill ("lineaire" [0x6acfff, 0x005f8c [1], [1], en gradientmatrix) 0255); g.drawroundrect (, 0, 0, breedte, lengte, endfill (20); g); sprite.filters = [nieuwe monochrome lichtgevende filter (0xffffff, 1, 10, 10, 1, 3, echt), nieuwe kleur - filter (0x00456a 0,6, 2, 2, 6, 2), nieuwe dropshadowfilter (8, 0, 45, 0,8, 10, 10, 1, 3)]; terug naar drawstamp (breedte lengte 20, 20, 5, 5);}, licht een beetje ingewikkelder, maar voert ons naar een van je het concept van De nieuweMisschien moet je jezelf van de vergadering: de grafiek.Vanaf nu, de huid slechts door één enkele cijfers.Maar als we moeten meer doen, zoals een verblindend licht?Kunnen we twee methoden: het gebruik van graphiclist, of het gebruik van, en we rendergraphic functionele componenten.We zullen gebruiken, want we rendergraphic functie op het grafisch kan veranderen die functie, en het licht blijft ongewijzigd.Dan hoeven we niet graphiclist tot vernieuwing, verblinding, wat we moeten doen is het trekken van een doorzichtige grote witte ovale, die knopen.En dan, om te voorkomen dat alles in de wereld licht, kan men met een knop grafische masker de schittering van de elfen.De code hier, de bescherming van openbare functies van var - verblinding: drukkerijen; selectie (x: hoeveelheid = 0, y: hoeveelheid = 0, tekst, breedte: de hoeveelheid = 150, hoogte: aantal = 50, call - back - functie: functie = nul, parameters: object = nul) (x, Y, de tekst van de Super (en de breedte, lengte, call - back -, params); grafische = drawbutton (breedte, lengte); drawglare (); de bescherming van drawglare (functie):void} {VAR masker? = nieuwe elf; maskers. Grafische. Geen bron (g); sprite.filters = [...]; G. Duidelijk ('); g.beginfill (0xffffff, 0,25 g.drawellipse (breedte); de hoogte van de breedte van 0,25, 0,6 1,5, hoogte); sprite.mask = maskers, verblinding = drawstamp (breedte, lengte × 0,4);}, en waardoor de openbare functie: ongeldig, ter dekking van: () {Super. (); rendergraphic (verblinding);}, dit is het uiteindelijke resultaat.Mooi, is het niet?,, stappen die 3,5: de grafische zodat die grafische, we gebruiken dezelfde functie, drawbutton, maar we laten het rood - oranje knop.要做到这一点,我们需要找一些颜色参数功能,保护功能drawbutton(宽度,高度:数、顶色:单元,bottomcolor:单位:单位:邮票,边框颜色){ var gradientmatrix:矩阵=新matrix();gradientmatrix。creategradientbox(宽度,高度,270×fp.rad,0,0);g.begingradientfill(“线性”,[顶色,bottomcolor ],[ 1,1 ],[ 0,255 ],gradientmatrix);g.drawroundrect(0,0,宽度,高度,20);G. endfill();sprite.filters = [新单色发光滤镜(0xffffff,1,10,10,1,3,真的),新的单色发光滤镜(边框颜色,0.6,2,2,6,2),新dropshadowfilter(8,45,0,0.8,10,10,1,3)];返回drawstamp(宽度20,高度20,5,5);},现在,我们正常的图形需要山姆De kleur.De openbare functie, dan kiezen (x: hoeveelheid = 0, y: hoeveelheid = 0, tekst, breedte: de hoeveelheid = 150, hoogte: aantal = 50, call - back - functie: functie = nul, parameters: object = nul) ((x, Y, hypertextpakketten, breedte, lengte, call - back - parameters); grafische = drawbutton (breedte, lengte, 0x6acfff, 0x005f8c, 0x00456a); drawglare ();}, zodat de normale /hover -, en we zullen elke grafiek staat veranderen in opslag, formulering van de desbetreffende functie.Ten eerste, laten we voor elke grafische variabelen en vul het, bescherming: var verblinding: drukkerijen; drukken; bescherming: de normale die openbare functies: var postzegels; selectie: aantal (x = 0, y: hoeveelheid = 0, tekst, breedte: de hoeveelheid = 150, hoogte: aantal = 50, call - back - functie: functie = nul, parameters: object = nul) ((x, Y, hypertextpakketten, breedte, lengte, call - back -, params); de normale = drawbutton (breedte, lengte, 0x6acfff, 0x005f8c, 0x00456a); - = drawbutton (breedte, lengte, 0xff8c66, 0xdd0500, 0x550000); grafische = normaal. Drawglare ();}, nu we overgaan tot de overeenkomstige cijfers, veranderingen van de staat, de functie van de beschermende functie veranderen, ter dekking van: (staat: de staat int = 0) (bijvoorbeeld:. (status = = terug laststate); - (staat) {normale: grafische = normale; breuk; zaak die: grafische = zweven, breken;} super. Verandering van de staat (staat);}, hier zijn de resultaten.Tot slot, interactieve knop.(...... niets), maatregelen die de voorbereiding van 3,6: animatie, laten we zeggen, we moeten voor de toevoeging van die beelden van een verandering van het beeld, in plaats van onmiddellijk zweven.Het creëren van een nieuwe postzegels en een nieuwe BitmapData elk beeld van de verspilling van hulpbronnen, we passen ons aan drawbutton, functie, die een bepaalde BitmapData, integendeel.Dan zullen we ons eenvoudig in het gebruik van de knop in BitmapData permanente postzegels, bescherming drawbutton (bitmap: breedte: bitmap gegevens, het aantal en de hoogte van de top: eenheid, het aantal, de kleur van bottomcolor:uint, de kleur: eenheid): ongeldig (G. Duidelijk ('); de VAR - gradientmatrix: de matrix = nieuwe matrix (gradientmatrix creategradientbox); (breedte, lengte 270 * fp.rad,., 0, 0); g.begingradientfill ("lineaire" [bottomcolor top kleur,] [1], [1], 0255, gradientmatrix); g.drawroundrect (0, 0, breedte, lengte, endfill (20); g); sprite.filters = [nieuwe kleur het filter (0xffffff, 1, 10, 10, 1, 3, echt), nieuwe kleur - filter (BorderColor 0,6.
Flashpunk BU onderdelen: geavanceerde grafische, extra huid, en Polen
Next Page:De werkplaats werkplaats::