, hvor smuk komponenter med kode - let,,,,, andel,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, mest programmører har aldrig rørt design.hvis du har altid ønsket at smuk grafisk i - projekter, men vidste ikke, hvordan man bruger adobe photoshop eller illustrator, resten er til dig.flot grafik kan blive skabt helt med koden.tegning grafik for komponenter med kode selv har nogle fordele,.,,, forudsætninger, det pædagogiske kræver, at du ved, hvordan de skal udføre grundlæggende - - ved hjælp af greensock er tweenlite eller tweenmax.du kan hente den seneste version af tweenlite fra greensock websted.jeg vil bruge flash cs5 professionelle at fuldføre dette projekt.du kan bruge en flash ide, du ville kunne lide (f.eks. flashdevelop eller fdt).det vil også hjælpe med til at få en rimelig forståelse af arv. en kort introduktion, før vi begynder, lad os se på, hvad vi kan lære, og hvorfor det er vigtigt.ved planlægningen af flash - ansøgninger, der er mange måder at skabe grafik.du kan bruge et eksternt værktøj såsom adobe illustrator eller trække komplekse grafik med adobe photoshop.du kan endda bruge 3d forsyningstjenester såsom film 4d at skabe øje - 3d bitmaps import til flash.disse teknikker er store, for at skabe et godt udformet, statisk anvendelse - statisk, hvilket ikke meget dynamisk, og i de fleste tilfælde ikke dynamiske overhovedet,.,, hvis du bruger en af de ovennævnte metoder til at skabe grafik til flash, du vil finde det en smule vanskeligt at resize grafik uden tab kvalitet eller, endnu værre, fordrejning.på den rigtige side, kan man indføre en vektor - sagen, som blev skabt med adobe illustrator på din flash anvendelse og omfang billedet langt uden at fordreje det billede, - - men når du ønsker at ændre den samlede andel af det billede, som de vil bemærke, at dit image bliver en lille deform. hvad skal vi gøre i dag, er lære effektiv kan det være at henlede vores anmodning er grafik med koden.vi skal skabe en smuk animeret knap, der er helt fra actionscript., trin 1: fordele og ulemper, før vi graver, vil jeg gerne diskutere betydningen af planlægning for deres anvendelse og besvare spørgsmål for at afgøre, om at trække den grafik, med kode eller i hånden (f.eks. i adobe photoshop).hjælper os med at besvare spørgsmålene nedenfor, lad os først undersøge fordele og ulemper ved tegning med kode. de professionelle, portabilitet:, grafik, der er skrevet i kode, er let at import til andre projekter, der findes som filer.ingen grund til at kopiere og pasta, et billede til en ny flash - projektet eller import billedet til biblioteket.bare de relevante klasser.,, enkelhed:, grafik, der med kode er gjort ved hjælp af vektorer, så de har en skrøbelig og forenklet føler, at både er pæn at se på og lys på cpu.,, konsekvens:,, når du har lyst til at resize din grafik, de ikke vil fordreje (medmindre det er den effekt, du skal til), og de vil bevare kvalitet, som er mindre.bitmap billeder, for eksempel, bliver pixelated, som de er gjort større eller kørte ind i.vektor billeder ikke mister nogen kvalitet eller blive pixelated.kan du zoome ind på en vektor image infinately, og det vil aldrig miste kvalitet.du kan også være sikker på, at deres grafik stadig ser fantastisk ud på skærme med større beslutninger.som teknologiske fremskridt og nye skærmopløsninger bliver tilgængelige, din grafik er mere tilbøjelige til at være i stand til at levere en god kvalitet, i modsætning til bitmap billeder, der ikke ser så godt ud,.,, dynamik:, sammen med at være i stand til at resize og omfanget af deres grafik, kan du også farve segmenter af et billede eller komponent med ganske få linjer kode.ændrer egenskaber af en grafisk har aldrig været så let.hvad er det, du siger?du vil ikke længere for rammerne af deres textfield skal have afrundede kanter.ingen problemer her.jeg vil ændre på en linje kode...og vi er klar til at gå.,, præcision:, selv om mange grafiske ansøgninger har karakteristika, at forenkle positionering af grafiske segmenter, du vil finde det lettere at foretage ændringer og holdning til indholdet af en grafisk med koden.du kan let center er et afsnit i en som forælder segment ændres størrelse eller skrive en algoritme til håndtering af, hvordan et segment angives som det er ændret.hint.,, fangerne, detaljer:, vektor grafik trukket med kode kan være meget detaljerede, men alt for mange detaljer kan have en betydelig virkning på udøvelsen af vores anmodninger.selv om det kan være muligt, finder du mig ikke forsøger at udarbejde en detaljeret spongebob squarepants. med koden.sådan noget må gøres ved hjælp af adobe tegner.også vektorer muligvis ikke være i stand til at være så detaljerede som en kompleks grafisk trukket i adobe photoshop.vektorer har tendens til at indeholde en mindre sag størrelse end din typiske bitmap image.vektorer er forbundet punkter og bitmaps er repræsenteret pixel af pixel.men hvis du ved et bitmap i en vektor image, den nye vektor er fil størrelse vil vise sig at være meget større end det oprindelige bitmap image.det sagde, du vil ikke være i stand til at male et indviklet portræt med koden.bruger adobe photoshop i stedet.,, begrænsninger:, der kan være tidspunkter, hvor du vil bruge din grafik i forskellige medier.ked af at sige det, men hvis du ikke vil være i stand til at få deres dynamiske grafik i java spil, du har arbejdet på, eller at objective-c ansøgning, du er lige begyndt.der er måder at gøre billeder ved hjælp af flash, men du vil definately miste enhver dynamiske kompetencer, der er fastsat i kode.,, vanskeligheder:, for ikke at sige, at du vil finde det latterligt vanskeligt at drage grafik med kode, men afhængig af, hvad du gør, vil de sandsynligvis finde hele processen lidt mere kompliceret end ved hjælp af software det er beregnet til dette formål.forvent ikke, at med kode til at være en let opgave.det hele afhænger af den forventede resultat, bør de nu finder følgende spørgsmål er let at besvare.der er tre spørgsmål, er du nødt til at spørge dig selv, før de påbegynder deres projekt:,, har din ansøgning kræver grafik er statisk eller dynamisk?statisk og dynamisk,,,,, grafik eller komponenter i deres ansøgning skal være eksklusive eller blinke være konsekvent i flere forskellige platforme.,, flash platform, flere platforme,,, er det grafiske design af din ansøgning, mere detaljerede eller ganske enkelt?, en forholdsvis enkel (grundlæggende geometriske former), moderat (kreativt design med simple former), indviklede (alt for komplekse mesterværker), nu undersøge dine test resultater.hvis dine test resultater ligger tæt op ad de nedenfor anførte resultater, end de metoder, vi er klar til at lære er til dig?,,,, eller, hvis resultaterne ikke ligne resultaterne ovenfor, vil du måske overveje andre metoder.men for resten af os, så lad os fortsætte., 2. trin: brainstorming, så her er scenariet.en kunde har bedt os om at skabe en animeret knap til deres flash - site og luft - app.knappen skal være i overensstemmelse med science fiction - tema af kundens websted.den knap er højde kan være en fast størrelse, men på knappen skal være i stand til at modtage for forskellig sporvidde.knappen skal have en toggle - stat, der er en klar forskel mellem det aktive og inaktive stater.endelig knappen skal have en api - det er let at arbejde med. nu, hvor vi ved, at vi har dette tema element til at skabe, er vi nødt til at overveje, hvordan vi skal gå med til at skabe den.vi ved, at vi skal trække en masse grafik med kode, så del bliver nemt og effektivt ændres.hvorfor ikke starte med en base klasse, som vil tilføje højt niveau funktioner på toppen flash trækker api?vi ønsker ikke at tiltrække grafik igen og igen med de samme linjer kode, så vi får en klasse med særlige egenskaber og metoder, der specifikt er konstrueret til at genbruge koden for os.vi vil udvide denne klasse, for at skabe de vigtigste former, som vi skal bruge til vores knap., trin 3: redigerbar form klasse, nu er det tid til at komme til det.skabe en ny klasse, som hedder, editableshape, og tilføje følgende klasser til classpath., import flash.display.graphics; import flash.display.sprite; import flash.events.event; import flash.geom.matrix; import flash.display.bitmapdata; import flash.utils.getdefinitionbyname; import flash. utils. getqualifiedclassname; nu skabe klasse erklæring.klassen skal udvide, flash.display.sprite, klasse, offentlige klasse editableshape udvider sprite {, skabe følgende variabler (egenskaber) før klassen konstruktøren. private var _fillgradienttype: string; private var _fillspreadmethod: string; private var _fillcolors: system; private var _fillalphas: system; private var _fillratios: system; private var _fillgradientwidth: antal; private var _fillgradientheight: antal; private var _fillgradientrotation: antal; private var _filltx: antal; private var _fillty: antal; private var _linegradienttype: string; private var _linespreadmethod: string; private var _linethickness: antal; private var _linecolors: system; private var _linealphas: system; private var _lineratios: array privilegierspiste var _linegradientwidth: antal; private var _linegradientheight: antal; private var _linegradientrotation: antal; private var _linetx: antal; private var _linety: antal; private var _width: antal; private var _height: antal; private var _matchgradientsize: boolean; private var _bitmapdata: bitmapdata; private var _usebitmapfill: boolean; private var _pixelhinting: boolean - og beskyttede var fillgradientbox: matrix, beskyttede var linegradientbox: matrice, inden for klassen konstruktøren tilføje følgende kode, og jeg vil forklare, hvad vi gjorde. super(); _width = 100; _height = 100; _matchgradientsize = sandt. _fillgradienttype = "lineære" _fillspreadmethod = "sted". _fillcolors = [0xffffff, 0x000000] _fillalphas = [1, 1]; _fillratios = [1] = 255; _fillgradientwidth _width; _fillgradientheight = _height; _fillgradientrotation = 0, _filltx = 0, _fillty = 0, _linegradienttype = "lineære" _linespreadmethod = "sted". _linethickness = 1; _linecolors = [0xffffff, 0x000000] _linealphas = [1 _lineratios = [1]; 1, 255] _linegradientwidth = _width; _linegradientheight = _height; _linegradientrotation = 0, _linetx = 0, _linety = 0, _usebitmapfill = falske _pixelhinting = sandt. fillgradientbox = nye matrix(); linegradientbox = nye matrix(); init(); den primære funktion af konstruktoeren er at instantiate alle de egenskaber, som vi har fastlagt.vi har også givet hver ejendom en standardværdi.du vil være i stand til at se, hvad resultatet af disse værdier er senere.hver ejendom, der begynder med understreger får læst /skrive adgang til uden kode.årsagerne til disse egenskaber ikke er offentlige properites er, fordi vi ønsker at reagere på ændringer i værdien af hver enkelt ejendom.vi skal gøre dette inden for, setter, metoder, som vi vil skabe senere. hver ejendom er baseret på særlige værdi, der skal vedtages i de, grafik, objekt metoder.et eksempel er, _fillgradientcolors, ejendom.det er et system, uints, der vil blive vedtaget i, graphics.begingradientfill metode.et andet eksempel er, _pixelhinting, ejendom.det vil blive vedtaget i, graphics.linestyle, metode er, pixelhinting parameter, sidste linje af constuctor kalder, lokalitet, metode.den lokalitet, metode er meget enkel.det kalder, ajourføre, metode, trin 4: ajourføring metode, ajourføre, metode sandsynligvis er den vigtigste metode i det, editableshape, klasse.formålet med denne metode er at klare eventuelle eksisterende grafik og træk dem er baseret på de seneste data.vi vil kalde denne metode, hver gang en ejendom er blevet ændret, så de ændringer, fremgår umiddelbart af brugeren, hvis nødvendigt.skabe, ajourføre, metode, beskyttede funktion update(): ugyldig (hvis (_matchgradientsize) (_linegradientwidth = _width; _linegradientheight = _height; _fillgradientwidth = _width; _fillgradientheight = _height;} linegradientbox. creategradientbox (linegradientwidth, linegradientheight, toradians (linegradientrotation), linetx, linety); fillgradientbox. creategradientbox (fillgradientwidth, fillgradientheight, toradians (fillgradientrotation), filltx, fillty). super. grafik. clear(). super. grafik. linestyle (linethickness, 0 0, pixelhinting). super. grafik. linegradientstyle (linegradienttype, linecolors, linealphas, lineratios, linegradientbox, linespreadmethod); hvis (!_bitmapdata
tegning smuk komponenter med kode
Next Page:as3 101: hurtig tip