Create en dynamisk Bar Graph Generator Bruke XML + AS3
Del
Del
to
Del
Dette Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.
Et stolpediagram eller søylediagram er et diagram med rektangulære barer hvis lengder er proporsjonal med de verdiene de representerer. De er ofte brukt for å sammenligne to eller flere verdier som ble tatt over tid eller under ulike forhold, vanligvis på små datasett.
I denne opplæringen, vil vi lage et søylediagram generator ved hjelp av XML og AS3.
Trinn 1: Kort oversikt
Ved hjelp av Actionscript 3, vil vi få de nødvendige grafen data fra en XML-fil, deretter skjerm de konverterte data i animerte barer og en info område
Trinn 2:.. Starte
Åpne Flash og opprette en ny Flash-fil (Actionscript 3)
Sett scenen størrelse til 600x300 og legge en grå radial bakgrunn (# E6E6E6, #CCCCCC).
Vår graf generator vil bli opprettet i sin helhet av kode, så dette vil være det eneste du skal gjøre i Stage.
< h2> Trinn 3: XML
Åpne yout favoritt XML editor (hvilken som helst tekst editor vil fungere) og legge til følgende linjer:?
< xml version = "1.0" > < grafer width = "50" > < grafen name = "Yellow" value = "50" color = "0xFDC13E" /> < grafen name = "Blue" value = "80" color = "0x25B7E2" /> < grafen name = "Green" value = "30" color = "0xB8CF36" /> < grafen name = "Red" value = "10" color = "0xE7473F" /> < /grafer >
Dette er XML som vi skal bruke for å få data, vil vi ikke skal bruke barnas navn, men attributtene
bredde. Bredden av hver bar
navn:.. Navnet på elementet, som skal vises i informasjonsområdet
verdi. Verdien av dette elementet, vises på toppen av stolpene
farge: Fargen på bar, i Heksadesimal
Dette er filen som sluttbrukeren trenger å redigere for å vise sine egne data
Trinn 4.. :!.. Action
Det er Action tid
Opprett en ny Action File (Cmd + N) og lagre den som "Graph.as", i klasser katalogen
Trinn 5: Pakke
pakken {
Pakken søkeord lar deg organisere koden din inn i grupper som kan importeres av andre scripts. Det anbefales å navngi dem starter med en liten bokstav og bruke intercaps for etterfølgende ord for eksempel: myClasses I eksemplet er klassen lagret på samme sted som den Fla filen.. Disse er nødvendige klasser, for en mer detaljert beskrivelse om hver klasse, henvises til Flash Hjelp (F1) strekker I dette eksempelet, arver Graph klassen alle metoder og egenskaper for Sprite Class . Dette er de variablene vi vil bruke, forklarte i kommentarfeltet Konstruktøren er en funksjon som kjøres når et objekt er opprettet fra en klasse. Denne koden er den første som skal utføres når du gjør en forekomst av et objekt, eller kjører ved hjelp av Document Class Denne funksjonen vil skape x og y-aksen linjene i grafen med tegningen API Dette er funksjonen som håndterer lasting av XML-filen. Vi angir en standard paramenter å unngå å kalle funksjonen med en annen .as fil, i stedet vi skal kalle det fra dokument Class Denne funksjonen setter dataene lastet til XML objekt og kaller funksjoner for å lage grafen ved hjelp av disse dataene Denne koden håndterer bar skapelse Informasjon om grafen vil bli vist i øverste høyre hjørne, denne funksjonen vil ta seg av det Gå tilbake til FLA filen og i Properties Panel legge "Graph" i klassen feltet for å gjøre dette til dokument Class Test filmen og se diagrammet vises på scenen. Du kan tilpasse dine grafer på mange måter, ved hjelp av XML-filen, og også legge til nye funksjoner med Actionscript. Prøv det! Jeg håper du likte denne opplæringen, Takk for lesing. Anmeldelser
Trinn 6:. Importere Nødvendige Classes
import fl.transitions .Tween, import fl.transitions.easing.Strong, import flash.display.Sprite, import flash.text.TextField, import flash.text.TextFormat, import flash.text.TextFieldAutoSize, import flash.net.URLLoader; import flash. net.URLRequest, import flash.events.Event;
Trinn 7: Erklærte og Utvide Class
søkeord definerer en klasse som er en underklasse av en annen klasse. Underklasse arver alle metoder, egenskaper og funksjoner, på den måten vi kan bruke dem i klassen vår.
Public class Graph strekker Sprite {
Trinn 8: Variabler
private Var graphContainer: Sprite = new Sprite (); privat Var xmlFile:. XML; //XML Object å analysere XML fileprivate Var URLLoader: URLLoader = new URLLoader (); //De fil loaderprivate Var totalBars: int; //Lagrer antall barer i graphprivate Var tween: Tween; //En Tween gjenstand for animationprivate Var tf: tekstformat = new tekstformat (); //Tekstformat
Trinn 9: Constructor
offentlig funksjon Graph (). Void {/* Text Format * /tf.color = 0x666666; tf.size = 12; tf.font = "Helvetica"; createGraphContainer (); LoadXML (); createBars ();}
Trinn 10: Graph Container
privat funksjon createGraphContainer (): void {graphContainer.. graphics.lineStyle (1, 0x9C9C9E); graphContainer.graphics.moveTo (30, 30); graphContainer.graphics.lineTo (30, 270); graphContainer.graphics.lineTo (570, 270); addChild (graphContainer);}
Trinn 11: Load XML Funksjon
privat funksjon LoadXML. (File: String = "graph.xml"): void //Din xml datafil {urlLoader.load (ny URLRequest (fil)); //Laster filen i parameter urlLoader.addEventListener (Event.COMPLETE, parseXML); Kaller en funksjon når lasten er fullført}
Trinn 12:. Parse XML
privat funksjon parseXML (e: Hendelses): void {xmlFile = new XML (e.target.data); . totalBars = xmlFile.children () length (); createBars (); display ();}
Trinn 13: Lag Barer
privat funksjons createBars (): void {for (var i.: int = 0; i < totalBars; i ++) //Dette for sjekker antall barer i xml {var bar: Sprite = new Sprite (); //En sprite for hver bar bar.graphics.beginFill (xmlFile.children () [i] @ farge.); //Gets fargen på baren fra xml bar.graphics.drawRect (0, 0, xmlFile @ bredde, xmlFile.children () [i] @ verdi..); //Oppretter baren henhold til xml bestemt bredde bar.graphics.endFill (); bar.x = 40 + (. xmlFile @ bredde * i) + (10 * i); //Bar posisjon bar.y = 270 - bar.height; Var val: Textfield = new Textfield (); //A Textfield å vise verdien val.defaultTextFormat = tf; val.autoSize = TextFieldAutoSize.RIGHT; val.text = xmlFile.children () [i]. @ Verdi; //Gets verdien fra xml val.x = 55 + (xmlFile @ bredde * i.) + (10 * i); //Tekstfeltet posisjon val.y = 255 - bar.height; tween = new Tween (bar, "height", Strong.easeOut, 0, bar.height, 1, true); //Animerer baren addChild (bar); //Legger sprites å iscenesette addChild (val); }}
Steg 14:. Info Område
private funksjonsdisplay (): void {for (var i: int = 0; i < totalBars; i ++) {var color: Sprite = new Sprite (); //Oppretter sprites og textfields for hver bar Var navn: Textfield = new Textfield (); names.defaultTextFormat = tf; names.autoSize = TextFieldAutoSize.LEFT; names.text = xmlFile.children () [i]. @ Navn; /* Posisjon * /names.x = 500; names.y = 30 + (20 * i); /* Farge firkanter * /color.graphics.beginFill (xmlFile.children () [i] @ farge.); color.graphics.drawRect (0, 0, 10, 10); color.graphics.endFill (); color.x = 490; color.y = 31 + (20 * i); addChild (navn); addChild (farge); }}
Trinn 15:. Dokument Class
Konklusjon