Flare muudab interaktiivsete andmevisualisatsioonide loomise lihtsaks
Enda visualiseerimiste loomise alustamiseks laadige alla flare ja töötage läbi alloleva õpetuse. Kas vajate rohkem abi? Külastage abifoorum (teil on vaja a SourceForge postitamiseks logi sisse).
Flare on avatud lähtekoodiga tarkvara, mis on välja antud BSD litsentsi alusel, mis tähendab, et seda saab vabalt juurutada ja muuta (ja isegi müüa $ $ eest). Flare'i disain kohandati selle eelkäija eelfüüsist, Java visualiseerimistööriistakomplektist.
Rakendused
Teated
- 2010.10.07: Flare arendus on kogukonnale avatud ja allikas on SourceForge'ist üle viidud uus kodu GitHubis. põlema 2009.01.24 on endiselt viimane ametlik väljalase ja (vähemalt praegu) kajastavad seda õpetused ja dokumentatsioon. GitHubi arendusversioon sisaldab nüüd paremat tuge nii Flash Player 10 kui ka paljude muude väikeste paranduste ja muudatuste jaoks.
- 2009.01.24: loit 2009.01.24 on vabastatud. See on hooldusväljaanne, mis sisaldab mitmeid veaparandusi ja värskendusi. Vaata väljalaske märkmed lisateabe saamiseks. See on viimane plaanitud Flash Player 9 väljalaskmine – tulevased versioonid migreeruvad versioonile 10.
- 2008.07.30: loit 2008.07.29 on vabastatud. See on suur väljalase, mis sisaldab palju uusi funktsioone ja arhitektuurilisi täiustusi. Vaata väljalaske märkmed rohkem üksikasju.
- 2008.07.30: loit 2008.08.08 on vabastatud. See väljalase sisaldab täiustatud legendi tuge, nimega üleminekuid, veaparandusi ja ümberkujundamist, et vähendada sidumist ja konsolideerida kasulikke klasse. Vaata väljalaske märkmed rohkem üksikasju.
juhendaja
Samm-sammuline õpetus ActionScripti ja Flare'i õppimiseks.
Alustamine
Esimene samm on arendustööriistade seadistamine.
- Seadistage töötav välklambi arenduskeskkond. On kaks lähenemist. Lihtsuse huvides soovitame esimest, kuid kogenumad kasutajad on teretulnud kasutama teist lähenemisviisi.
- 1. valik (lihtsam): Installige Adobe Flex Builder.
- See on ActionScripti/Flexi rakenduste täielik arenduskeskkond. See on saadaval kõikidele suurematele platvormidele (Windows, Mac, Unix). Kasutajad, kes juba kasutavad Eclipse IDE-d, saavad installida Flex Builderi ka Eclipse'i pistikprogrammina.
- Hoiatus Flex Builderi kasutamisel on see, et see on kommertstarkvara ja töötab ainult piiratud prooviperioodi jooksul. Adobe pakub aga ülikooli üliõpilastele, õppejõududele ja töötajatele tasuta Flex Builderi litsentse.
- 2. võimalus (keerulisem): Installige tasuta Flex SDK
- See installib põhilised ActionScripti/Flexi kompilaatorid:
mxmlc
jacompc
. Seejärel saate seadistada oma ehituskeskkonna, näiteks kasutadesmake
orant
ehitada süsteeme. Flare on pakendatud abuild.xml
fail kasutamiseks koos Apache Ant ehitada süsteem. Kui sipelgas on installitud, avage lihtsaltbuild.xml
faili tekstiredaktoris, muutke paar esimest rida, et osutada teie Flexile SDK paigaldamine ja seejärel kasutamineant
raamatukogude koostamiseks. Kasutame Flexi arendamiseks Adobe Labsi sipelgate ülesandeid. - Selle lähenemisviisi eeliseks on see, et kogu tarkvara on tasuta ja see ei aegu teie puhul. Kuid jääte ilma sellistest funktsioonidest nagu automaatne kompileerimine, projektihaldus ja automaatne täitmine, mida pakub Flex Builder.
- See installib põhilised ActionScripti/Flexi kompilaatorid:
- 1. valik (lihtsam): Installige Adobe Flex Builder.
- Laadige alla prefuse flare raamatukogud.
- Allalaaditav fail on ZIP-fail, mis sisaldab ActionScripti teegiprojektide komplekti. Kui kasutate Flex Builderit, pakkige failid lahti oma esmasesse tööruumi kataloogi. Õpetuse käigus impordime need Flex Builderisse ja kasutame visualiseeringute koostamiseks!
- Tarkvara on praegu alfaversioon ja seetõttu on oodata mõningaid vigu ja piiranguid. Lahendame probleemid esimesel võimalusel ja ülaltoodud link viitab alati uusimale versioonile.
Flashi ja ActionScripti 3 tutvustus
Flash on suurepärane keskkond interaktiivse graafika jaoks ja ActionScript 3 programmeerimiskeele hiljutise lisamisega muutus see lihtsalt palju võimsamaks ja tõhusamaks. Kuigi AS3 täielik sissejuhatus jääb sellest õpetusest välja, on siin mõned kasulikud ressursid:
- Adobe pakub AS3 ülevaadet koos linkidega lisaressurssidele.
- Essential ActionScript 3 Colin Moock O'Reilly kirjastusest on suurepärane raamat, mis aitab teil alustada. Sa saad pääse sellele võrgus juurde siit (mõned institutsioonid, näiteks ülikoolid, pakuvad juurdepääsu tasuta).
- Adobe Flex API viide on hindamatu väärtus erinevate saadaolevate klasside ja meetodite mõistmiseks. Keskendume ainult klassidele
flash.*
pakette.
See õpetus eeldab põhiteadmisi ActionScripti süntaksi ja tüüpidega ning objektorienteeritud programmeerimise kontseptsioonidega.
1. osa: Kuvaobjektid
Sissejuhatus
Flash modelleerib 2D visuaalset stseeni, kasutades a stseenograaf. Visuaalsed objektid on korraldatud hierarhias, kusjuures alamobjektid on määratletud vanema koordinaadiruumis. Sageli näete seda stseenigraafikut, millele viidatakse kui kuvaloend nii Adobe dokumentatsioonis kui ka Flashi programmeerimist käsitlevates raamatutes.
Kuvaloendi ülaosas olev sõlm on alati Stage
objektiks. Laval on alati üks ja ainult üks laps. Seda nimetatakse root
ja kõik visuaalsed üksused on juure all. Tavaliselt on juurfail teie tegelik Flash-rakendus. Tuleme selle juurde varsti tagasi.
Kõik visuaalsed üksused, mida saab kuvaloendisse lisada, on eksemplarid DisplayObject
klass. Alamklassid DisplayObject
sisaldama Bitmap
(piltide jaoks), TextField
(interaktiivsete tekstialade jaoks) ja Video
(mõelge YouTube'ile). Kõige tavalisemad juhtumid on aga Sprite
ja Shape
klassid. Enamiku nendest klassidest leiate viite saamiseks veebisaidilt flash.display
pakett (kuigi lõpuks leiate tõenäoliselt flash.text
ka kasutuspakett).
. Sprite
klass on kõige kasulikum, üldisem visuaalne objekt, mida Flash Player kasutab. Spraidid on visuaalsed objektid, mis sisaldavad nii joonistussisu ja võivad olla kuvaloendi alamsõlmede konteinerina ( Sprite
klassi alamklassid flash.display.DisplayObjectContainer
klass). Seevastu Shape
klass võib sisaldada joonistussisu, kuid ei sisalda alamsõlmi. Selle tulemusena kasutavad kujundid vähem mälu, kuid on palju vähem paindlikud. Lihtsuse huvides keskendume selles õpetuses Sprite'idele.
Looge uus rakendus
Kõigepealt loome uue Flashi rakenduse. Selleks avage Flex Builder ja veenduge, et oleksite vaates "Flex Development" (sageli jõuate selleni, kui klõpsate paremas ülanurgas mustvalgel ikoonil Fx).
Paremklõpsake vasakpoolsel paanil "Navigaator" kuval ja valige "Uus > ActionScripti projekt". Tippige avanevas dialoogiaknas projekti nimeks "Tutorial" ja klõpsake siis nuppu "Lõpeta". See loob teie jaoks uue projekti.
Nüüd peaksite paanil "Navigaator" nägema kausta "Tutorial". Selles kaustas peaksite nägema faili nimega "Tutorial.as". See on teie peamine rakenduse fail. Avage see, kui see pole veel avatud.
Faili sees näete selle klassi põhilisi tellinguid:
pack { import flash.display.Sprite; public class Tutorial extends Sprite { public function Tutorial() { } } }
Pange tähele, et see klass laiendab Sprite
klass. Kuna see on meie peamine rakendusklass, siis kui käivitame rakenduse eksemplari Tutorial
klass lisatakse automaatselt kuvamisloendisse root
(üks ja ainus laps Stage
).
Pange tähele ka seda, et konstruktor on loodud automaatselt. Seda konstruktorit kutsutakse rakenduse käivitamisel. Neile, kes tunnevad selliseid programmeerimiskeeli nagu C, C++ või Java, toimib rakendusklassi konstruktor sarnaselt main
funktsioon nendes teistes keeltes.
Kui need uued rakenduse tellingud on paigas, saame hakata mängima visuaalsete objektidega. Siiski on üks asi, mida me kõigepealt tahame teha. Lisage uus rida otse klassideklaratsiooni kohale ("public class Tutorial…
”) rida, mis ütleb:
[SWF(laius="800", kõrgus="600", taustavärv="#ffffff", kaadrimäär="30")]
See rida määratleb teie rakenduse vaikesätted (mis kompileeritakse ja salvestatakse .swf-failina teie projekti „bin” kataloogi). Ülalpool määrasime oma rakenduse jaoks suuruse, taustavärvi ja sihtkaadrisageduse (kaadrites sekundis).
sprites
Nagu kõik DisplayObjects
, Sprite
toetab mitmeid visuaalseid omadusi kohe karbist välja võttes. See hõlmab x
, y
, scaleX
, scaleY
, rotation
ja alpha
omadused. Need muudavad vastavalt spraidi (ja kõigi selle laste!) asukohta, suurust, orientatsiooni ja läbipaistvust! Pidage meeles, et me kasutame siin stseenigraafikut.
Need väärtused ei tähenda aga veel suurt midagi, kuna spraidid ei sisalda vaikimisi midagi. Alustame oma sisu joonistamisega.
Igal Sprite'il on ka a graphics
vara. Saame seda kasutada graafika joonistamiseks Sprite
. graphics
omadus on näide flash.display.Graphics
klass, mis pakub mitmeid vektorjoonistamise käske.
Allolevas näites teeme mitmeid asju.
- Esiteks loome uue
Sprite
. - Teiseks kasutame spraiti
graphics
halli täidisega ja musta kontuuriga ringi joonistamiseks.beginFill
määrab praeguse täitevärvi ja stiili. Esimene argument on värv kuueteistkümnendmärgistuses ja teine argument on alfa väärtus, mis ulatub 0-st täiesti läbipaistva väärtuseni 1-ni täielikult läbipaistmatu jaoks.lineStyle
määrab praeguse joone värvi ja stiili. Esimene argument on joone laius, teine argument on värv.drawCircle
joonistab meie spraidi koordinaatruumi punktis 10 ringi raadiusega 0,0.
- Kolmandaks lisame sprite'i oma põhirakenduse (a
Tutorial
sprite). - Neljandaks määrasime
x
jay
meie spraidi positsioon. - Viiendaks lisame silumisväljundi.
trace
prindib konsooli stringi. See väljund kuvatakse ainult siis, kui rakendus töötab silumisrežiimis.
Siin on kood:
pack { import flash.display.Sprite; [SWF(width="800", height="600", backgroundColor="#ffffff", frameRate="30")] public class Õpetus laiendab Sprite { public function Tutorial() { var sprite:Sprite = new Sprite() ; sprite.graphics.beginFill(0xcccccc, 0.5); sprite.graphics.lineStyle(1, 0x000000); sprite.graphics.drawCircle(0, 0, 10); this.addChild(sprite); sprite.x = 50; sprite.y = 50; trace("meie sprite asub aadressil: "+sprite.x+", "+sprite.y); } } }
Käivitage rakendus (paremklõpsake "Tutorial.as" ja valige "Run As > Flex Application"). Peaksite nägema ülemises vasakus nurgas musta piirjoonega halli ringi, mille keskel asuvad punktid 50, 50. Kui käivitate rakenduse silumisrežiimis (valige "Silumine kui > Paindlik rakendus"), peaksite nägema ka stringi "meie sprite on väljundkonsoolis 50, 50 tolli juures.
Pesastatud Sprites
Nüüd teeme oma stseeni natuke huvitavamaks. Alustame Sprite'i genereerimise koodi teisaldamisega uuele meetodile. Lisame oma klassi selle meetodi:
privaatne funktsioon createCircle(x:Arv, y:Arv):Sprite { var sprite:Sprite = new Sprite(); sprite.graphics.beginFill(0xcccccc, 0.5); sprite.graphics.lineStyle(1, 0x000000); sprite.graphics.drawCircle(0, 0, 10); sprite.x = x; sprite.y = y; tagasi sprite; }
Järgmisena asendame koodi oma konstruktoris. Esiteks loome uue spraidi nimega konteiner, mida kasutame ringide kogu hoidmiseks. Asetame selle oma lava keskele. Teiseks kasutame ringide hunniku loomiseks silmust. Siin reastame ringid sümmeetriliselt lähtekonteineri 0,0 punkti ümber. Meie uus konstruktor näeb nüüd välja selline:
public function Tutorial() { var konteiner:Sprite = new Sprite(); konteiner.x = 400; konteiner.y = 300; this.addChild(container); for (var i:int=0; i<10; ++i) { var x:Arv = (i/5<1 ? 1 : -1) * (13 + 26 * (i%5)); konteiner.addLaps(looCircle(x, 0)); } }
Käivitage rakenduse uus versioon. Rakenduse keskel peaksite nägema kümnest ringist koosnevat rida.
Nüüd saame konteinerit muuta, et värskendada kõiki selles olevaid suhtlusringe. Proovige mängida konteineri spraiti erinevate visuaalsete muutujate määramisega. Näiteks muutke x
, y
, scaleX
, scaleY
, rotation
ja alpha
omadused.
muud teemad
Flashi põhivalikutega saate teha palju rohkem. Kahjuks on need veidi üle selle, milleks meil siin aega on. Mõned asjad, mida uurida, hõlmavad pildifiltreid (vt flash.filters
pakett), mis võimaldavad lisada visuaalseid efekte objektide kuvamiseks nende abil filters
vara ja erinevad valikud, mis on saadaval flash.display.Graphics
klassis, sealhulgas täite- ja joonestiile ning palju muid 2D-joonistusrutiine.
2. osa: Animatsioonid
Nüüd, kui saame luua visuaalseid objekte, on aeg hakata neile elu andma. Flare sisaldab flare.animate
pakett, mis aitab seda lihtsaks teha. Esiteks peame Flex Builderis kasutamiseks importima laiendusteegid.
Raamatukogude importimine
Enne jätkamist veenduge, et olete Flex Builderis projektidena laadinud laiendusteekid. Peaksite olema juba lahtipakkinud laiendusfailid oma peamisse Flex Builderi tööruumi kataloogi. Järgmine samm on importida need Flex Builderi keskkonda.
- Veenduge, et oleksite "paindliku arenduse" vaatenurgas.
- Paremklõpsake vasakpoolsel navigeerimispaanil.
- Valige hüpikmenüüst "Impordi ...".
- Valige dialoogiaknas "Üldine > Olemasolevad projektid tööruumi" ja klõpsake nuppu "Järgmine".
- Kasutage oma Flex Builderi tööruumi kataloogi navigeerimiseks vidinaid „Vali juurkataloog”
- Nüüd peaksite nägema paneelil „Projektid:” loetletud valgustusprojekte.
- Valige projektid "flare" ja "flare.demos" ning seejärel klõpsake nuppu "Lõpeta".
Nüüd peaksite navigaatoripaanil nägema valgustusprojekte. Nüüd saate sirvida nii teegi kui ka demo lähtekoodi.
Ülevaade rakuteegist
Siin on kiire ülevaade särituse tööriistakomplektist. Sees flare
projekti, vaadake kausta "src/flare". Leiate mitmeid pakette, mis pakuvad erinevaid funktsioone:
analytics
: operaatorid statistika arvutamiseks ja andmete analüüsimiseksanimate
: tööriistad animatsioonide loomiseksdata
: meetodid andmekogumite lugemiseks ja kirjutamiseksdisplay
:DisplayObject
tüübid, mis laiendavad pakutuidflash.display
flex
: ümbris Flare-visualisatsioonide manustamiseks Flexi rakendustessephysics
: füüsikaline mootor füüsiliste efektide või jõuga suunatud paigutuse jaoksquery
: ActionScripti objektide päringuprotsessorscale
: klassid andmeskaalade (nt lineaarsed, logi- ja ajaskaalad) käsitlemiseksutil
: utiliidiklasside komplekt, mis pakub tavaliselt vajalikke funktsioonevis
: välgu visualiseerimise komponendid ja operaatorid
Seal on ka flare.demos
projekt, mis pakub mitmeid näiteid Flare'i komponentide loomise kohta.
Teegi importimine teise projekti raames
Väljendi kasutamiseks oma projektides peate värskendama oma projekti sätteid. Seda saab teha järgmiselt.
- Paremklõpsake navigaatoripaanil projekti „Tutorial” ülemist kausta
- Klõpsake kontekstimenüüs nuppu "Atribuudid".
- Avanevas dialoogis klõpsake vasakpoolsel paneelil "ActionScripti ehitustee" (see peaks olema ülalt kolmas üksus).
- Klõpsake paremas paneelis vahekaarti "Teegi tee".
- Klõpsake nuppu "Lisa projekt".
- Nüüd peaksite nägema projektide loendit, sealhulgas valgustust.
- Valige "flare" ja seejärel klõpsake "OK"
Olete nüüd oma projekti lisanud flare teegid ja saate kasutada kõiki selle pakutavaid klasse.
Üks asi, mida Flexi kompilaatori puhul tähele panna – vaikimisi sisaldab see ainult klasse, mida te oma rakenduses tegelikult kasutate. Nii et isegi kui impordite väga suure teegi, võib teie lõpliku swf-faili suurus siiski olla üsna väike. Kuid pidage meeles, et see võib põhjustada probleeme, kui kasutate oma rakenduses dünaamilise klassi laadimiseks peegeldust (täpsem funktsioon, mida selles õpetuses ei käsitleta).
Põhianimatsioon: Tween, järjestus ja paralleel
Ok, nüüd animeerime! The flare.animate.Transition
klass on kõigi animatsioonide baasklass. Olulised alamklassid Transition
on Tween
, Sequence
ja Parallel
üleminekud. Tweene kasutatakse ühe objekti omaduste animeerimiseks. Järjestusi kasutatakse animatsioonide seeria järjestamiseks. Paralleelsed üleminekud käitavad üleminekute kogumit üheaegselt. Alustame Tweeniga.
Objekti omaduste tweening
Tweeni klassi põhitõed on lihtsad: võtame objekti, anname atribuutide väärtuste komplekti, mida sooviksime aja jooksul muuta, ja määrame selle muudatuse kestuse. Kasutades 1. osa rakendust Tutorial, pöörame konteineriobjekti. Lisage klassi Tutorial konstruktori lõppu järgmine rida:
var tween:Tween = new Tween(konteiner, 3, {pööramine:360}); tween.play();
Samuti veenduge, et teil oleks klassi ülaosas uus impordilause, et kompilaator teaks, millest te räägite. Lisage see imporditavate toodete loendisse:
import flare.animate.Tween;
(MÄRKUS. Mõnikord lisab Flex Builder uue klassi nime tippimisel teie eest automaatselt impordilause. Kui ei, siis on teine meetod asetada tekstikursor aasta lõpuni klassi uuest nimest ja tippige "Ctrl-Space" – see peaks looma teie jaoks klassi jaoks uue impordi.)
Nüüd käivitage oma rakendus – punktid peaksid 3 sekundi jooksul ringikujuliselt pöörlema.
Tweeni konstruktor teeb järgmist:
- Esimene argument on objekt, mille väärtusi tuleks siduda
- Teine argument on animatsiooni pikkus sekundites
- Kolmas argument on objekti eksemplar, mis loetleb animeeritavad omadused ja nende sihtväärtused.
- Atribuutide nimed peavad täpselt ühtima sisendobjekti omadustega.
- Pesastatud atribuudid on lubatud, kuid need tuleb lisada jutumärkidesse. Näiteks,
{“data.profit”:50}
on legaalne sisend, kui sisendobjektil on atribuut nimega andmed, millel omakorda on atribuut nimega kasum.
. play
meetod käivitab seejärel animatsiooni. The play
meetodit saab kutsuda ka ühe Boole'i parameetriga, mis näitab, kas käivitada animatsioon tagurpidi või mitte.
Võib-olla olete märganud, et pöörlemisanimatsioonil on mõningane kiirendus. Seda seetõttu, et vaikesäte on Tween
näideteks on kasutada "aeglase sisse aeglustamise" animatsiooni. Saate neid käitumisi kontrollida kasutades Easing
funktsioonid. Need funktsioonid võtavad sisendiks praeguse animatsiooni edenemise murdosa vahemikus 0 kuni 1. Seejärel tagastavad nad manipuleeritud edenemise murdosa, et muuta animatsiooni tempot, sageli mittelineaarselt.
Leevenduse eemaldamiseks (st lineaarse kergendamise funktsiooni kasutamiseks) võite kirjutada: tween.easing = Easing.none
. Lihtsalt veenduge, et impordite flare.animate.Easing
klass faili ülaosas.
Katsetage julgelt teiste kergendusfunktsioonidega. Näiteks võivad kergendamise funktsioonid hõlmata sisselülitamist (ainult animatsiooni algusega manipuleerimine), väljalülitamist (ainult animatsiooni lõpuga manipuleerimine) või mõlemat. Näiteks proovige seda: tween.easing = Easing.easeOutBounce
. See peaks panema pöörlemise lõpus põrgatama.
Enne edasi liikumist proovige animeerida konteineri muid atribuute, nagu asukoht, skaala või alfaväärtused.
Komposiitanimatsioonid
. Sequence
ja Parallel
klassid võimaldavad animatsioone rühmitada. Sequence käivitab animatsioonide komplekti üksteise järel. Näiteks proovige seda:
var t1:Tween = new Tween(konteiner, 1, {y:100}); var t2:Tween = new Tween(konteiner, 1, {skaalaX:2}); var t3:Tween = new Tween(konteiner, 1, {y:300}); var t4:Tween = new Tween(konteiner, 1, {skaalaX:1}); var seq:Sequence = new Sequence( new Parallel(t1, t2), new Parallel(t3, t4) ); seq.play();
Samuti peate faili ülaossa lisama mõned uued impordilaused:
import flare.animate.Parallel; import flare.animate.Sequence;
See loob neli Tweeni: t1
, t2
, t3
ja t4
. Seejärel loob see kaks paralleelset üleminekut, mis jooksevad t1
ja t2
kokku ja jooksevad t3
ja t4
koos. Seejärel käivitatakse paralleelsed üleminekud järjestikku üksteise järel. Nii on lihtne ehitada keerulisemaid animatsioone.
Täpsemate komposiitanimatsioonide jaoks vaadake lehte FlareLogo
ja flare.demos.Animation
klassid aastal flare.demos
projekti.
Partii-animatsioon üleminekuseadmetega
kasutades Tween
, Parallel
ja Sequence
klassides saate teha suvalise arvu animeeritud üleminekuid. Suurte objektide kogumite käsitlemisel (tavaline visualiseerimisel) võib aga sama suure tweenide komplekti käsitsi käsitlemine olla valus. Lisaks peaks olema lihtne käivitada eraldi rutiine visuaalsete omaduste (nt paigutus, värv, suurus, kuju) kodeerimiseks ja ei pea muretsema animatsiooni käsitlemise pärast. Võib-olla soovite muudatusi animeerida või soovite staatilist värskendust. Mõlemal juhul peaksite saama väärtuste määramiseks sama koodi uuesti kasutada.
Nende probleemide lahendamiseks pakub Flare Transitioner
klass. Üleminekud lihtsustavad objektikogude jaoks animatsioonide loomise protsessi. Võtke lihtsalt objekt ja määrake soovitud omadused ükshaaval. Kulisside taga genereerib ja taaskasutab üleminekuseade kogu animatsiooni modelleerimiseks automaatselt vajalikud tweenid. Veelgi enam, kui animatsiooni ei soovita, saab ülemineku konfigureerida kohe atribuutide väärtused määrama. Lühidalt öeldes pakub siirdur objekti omaduste värskendamiseks kaudse kihi – neid värskendusi saab koguda ja seejärel animeerida või kohe rakendada.
Siin on lihtne näide üleminekuri kasutamisest meie õpetuse rakenduses.
var t:Transitioner = new Transitioner(2); for (var j:int=0; j
See näide animeerib kõik spraidid sisse container
uuele juhusele y
asukoht ja juhuslik vertikaalne skaalategur. Esmalt loome uue Transitioner
mis peaks looma 2-sekundilise animatsiooni. Seejärel vaatame läbi iga alamspriti ja kasutame üleminekut, et määrata atribuudid väärtusele Tween.
Ülemineku oma $
operaator näitab, et tahame määrata sisendobjektile sihtväärtuse. Vaikimisi kas uus Tween
on loodud või olemasolev Tween
on praeguse üksuse jaoks leitud. The $
operaator tagastab seejärel objekti, millele saab määrata tweeni sihtomaduse.
Lisaks saab siirdeid kasutada staatiliste (mitteanimeeritud) üleminekute loomiseks. Kui üleminekumehe oma immediate
atribuut on seatud tõeseks, ei loo see uusi Tweene. Selle asemel tagastab operaator $ lihtsalt sisendväärtuse. See tähendab, et saate luua meetodeid, mis värskendavad väärtusi, kasutades üleminekut, ja seejärel hiljem juhtida, kas soovite neid väärtusi värskendada või mitte. Standardne "kohene režiim" Transitioner
laaditakse alla staatilise funktsiooni abil Transitioner.DEFAULT
vara. Nii ei pea te uut määrama Transitioner
koheste värskenduste tegemisel.
Üleminekuid kasutatakse laialdaselt kogu maailmas flare.vis
pakett, mis võimaldab visualiseerimisdisaineritel juhtida, milliseid värskendusi ja kuidas animeerida.
3. osa: Visualisatsioonid
Andmete laadimine
Flare'i põhiandmete esitus kasutab lihtsalt sisseehitatud Flashi andmetüüpe: Object
ja Array
. Näiteks võib andmetabeli lihtsalt esitada objektide massiivina, mille iga objekt sisaldab iga andmevälja nimesid ja väärtusi. Kuigi tõhusamad esitused on võimalikud, pakub see lähenemisviis suurimat paindlikkust, kasutades ära ka olemasolevaid Flashi arendustavasid.
Andmete laadimiseks Flash-mängijasse on mitmeid lähenemisviise. Lihtne lähenemine on manustada oma andmed rakendusse endasse. Nii laaditakse andmed alla koos rakendusega, mis sobib staatiliste andmekogumite jaoks. Näiteks võite kasutada ActionScripti objekti tähistust, et määratleda andmekogum otse muutujana:
var data:Array = [ {id:"1 kvartal", müük:10000, kasum:2400}, {id:"2 kvartal", müük:12000, kasum:2900}, {id:"3 kvartal", müük:15000, kasum :3800}, {id:"Q4", müük:15500, kasum:3900} ];
Kuid paljudel juhtudel soovite laadida oma andmed dünaamiliselt kas veebilehelt (saate kasutada brauseris JavaScripti väärtuste edastamiseks Flashi) või Interneti-serverist. Selle tegemiseks on palju lähenemisviise ja peaksite valima selle, mis teie konkreetse rakenduse jaoks kõige paremini sobib. Näiteks pakub ActionScript töötamiseks täiendavaid andmetüüpe ja süntaksit XML andmeid kasutades ECMAScripti jaoks XML (E4X) standard.
Flare pakub ka mõningaid utiliite väliste andmekogumite laadimiseks. See toetab andmete laadimist mis tahes Interneti-serverist ja nende andmete teisendamist sisemisteks ActionScripti objektideks. Praegu toetatud failivormingud on tabeldusmärgiga eraldatud tekst ("tab", standardne failivorming andmete eksportimiseks sellistest tööriistadest nagu Excel), Java Objekti märgistus (“json”, levinud andmevorming veebirakenduste jaoks) ja GraphML ("graphml", an XML vorming võrkude esitamiseks sõlmede ja servadega).
Kaugandmed laaditakse välgu abil, kasutades flare.data.DataSource
klass. Siin on näide selle kasutamisest tabeldusmärgiga eraldatud andmefaili laadimiseks:
var ds:DataSource = new DataSource( "http://flare.prefuse.org/data/test.tab.txt", "tab" ); var loader:URLLoader = ds.load(); loader.addEventListener(Event.COMPLETE, function(evt:Event):void { // funktsioon andmete käsitlemiseks pärast laadimise lõpetamist var ds:DataSet = loader.data kui DataSet; // tehke nüüd andmetega midagi... } );
. DataSource
konstruktoril on kaks nõutavat argumenti: andmekogumi URL ja failivormingut näitav string. Praegu on toetatud vormingud "tab" (tabulaatoriga eraldatud), "json" (JavaScripti objekti märkimine) ja "graphml" (GraphML).
Andmekogumite puhul, mille skeem (väljade nimed ja andmetüübid) võib olla ebaselge, on olemas ka kolmas valikuline konstruktori argument, mis võtab DataSchema
tüüp. Vaata flare.data.DataSchema
ja flare.data.DataField
klassidest rohkem. Skeem võib olla abiks andmeväärtuste õige nimetuse tagamisel (nt tabeldusmärgiga eraldatud faili puhul, millel puudub päiserida) ja teisendada õigeteks andmetüüpideks (nt JSON-i andmete puhul, milles numbrilised väärtused on mähitud jutumärkidesse).
Andmete tegelikuks laadimiseks kutsutakse välja DataSource laadimismeetod, tagastades a flash.net.URLLoader
näide. Laadijat saab kasutada allalaadimise edenemise jälgimiseks (nt kui soovite kuvada edenemisriba) ja allalaadimise lõppedes annab see teavitussündmuse. Ülaltoodud näites lisame sündmuste kuulaja, mida teavitatakse allalaadimise lõppemisest. The DataSource
parsib automaatselt sisendandmed, kaardistab need ActionScripti objektideks ja salvestab tulemused a flare.data.DataSet
objekt. DataSet
klass võib esindada nii tabeli kui ka võrgu (sõlme/serva) andmeid.
Visuaalsete objektide loomine ja haldamine
Nüüd tahaksime visualiseerida andmekogumit. Selleks kaardistame üksikud andmekirjed visuaalseteks üksusteks. Flare pakub andmete esitamiseks visuaalsete objektide komplekti. Siin on ülevaade põhiklassidest, mida pakub flare.vis.data
pakendis.
DataSprite
: andmeid visuaalselt esindavate spraitide baasklass.DataSprite
on Flash Playeri alamklassSprite
klass.DataSprite
sisaldab adata
atribuut, kuhu salvestatakse andmekorter (ActionScripti objekt) ja pakub lisaks põhiliste spraitide toetatavatele visuaalsetele muutujatele ka täiendavaid visuaalseid muutujaid, sealhulgas värvi-, kuju- ja suuruseväljad ning polaarkoordinaatide positsioonide määramise tuge.NodeSprite
:DataSprite
sõlme esindav eksemplar. See on andmete visualiseerimiseks kasutatav vaiketüüp.NodeSprite
eksemplare saab ühendada võrgu- või puustruktuuridesEdgeSprite
juhtumeid.EdgeSprite
:DataSprite
serva esindav eksemplar. AnEdgeSprite
ühendab kaksNodeSprites
. Sõlmedele pääseb juurde läbisource
jatarget
omadused.EdgeSprites
kasutatakse graafikute ja puude loomiseks, samuti joonte esitamiseks, näiteks aegridade graafikutel.
Tavaliselt luuakse ja salvestatakse NodeSprites ja EdgeSprites flare.vis.data.Data
klass, mis haldab kõiki visuaalseid üksusi ühe visualiseerimise jaoks. The Data
klass pakub meetodeid uute visuaalsete objektide loomiseks andmekorteeži jaoks ja graafiku struktuuri kujutamiseks.
. Data
klass pakub ka meetodeid sisalduvate andmeüksuste läbimiseks ja värskendamiseks. The nodes
ja edges
omadused tagastavad andmetes sisalduvate sõlmede ja servade loendid. Kõik need loendid sisaldavad a visit
meetod, mis võimaldab teil edastada funktsiooni, mida seejärel kutsutakse iga sõlme või servaga. Samuti, setProperty
ja setProperties
meetodid võimaldavad määrata atribuutide väärtused kõikidele sõlmedele või servadele korraga. Need meetodid võtavad valikuliselt a Transitioner
argumendina, et saaksite atribuudi värskenduse animeerida.
Näiteks järgmise koodi tulemuseks on ühesekundiline animatsioon, milles kõigi sõlmede joonevärv on seatud siniseks. (Pange tähele, et kuueteistkümnendmärk DataSprite
värviväärtused hõlmavad nii alfa- kui ka punast, rohelist ja sinist kanalit).
data.nodes.setProperty("lineColor", 0xff0000bb, new Transitioner(1)).play();
Sõlme- ja servaloendid toetavad ka atribuutide vaikeväärtusi, kasutades setDefault
, setDefaults
, removeDefault
ja clearDefaults
meetodid. Vaikeväärtused määratakse sõlmele või servale, mis on äsja loodud andmeklassi abil. addNode
or addEdgeFor
meetodid.
. Tree
klass on alamklass Data
, mis on spetsialiseerunud esindama puud, mitte üldist graafikut. The Data
klass toetab a automaatset loomist Tree
Näiteks arvutades üldgraafiku ulatuvad puud. Parameetrina saab edasi anda mitmeid ulatuva puu loomise meetodeid, sealhulgas laiuse-, sügavus- ja minimaalse ulatusega puu algoritme. Need arvutused tehakse kasutades flare.analytics.graph.SpanningTree
klass.
Sõlme- ja servaobjektide loomiseks kasutame addNode
ja addEdgeFor
meetodid.
addNode
võtab sisendandmete korteeži (anObject
) ja loob uueNodeSprite
nende andmete visualiseerimiseks.addEdgeFor
võtab kaks olemasolevatNodeSprites
ja lisab anEdgeSprite
neid ühendades. Meetod välistab valikuliselt ka andmekorpuse (jällegi anObject
mis esindavad mis tahes andmevälju) serva jaoks.
Siin on lihtne näide loomiseks NodeSprites
tabeliandmete kogumi jaoks, eeldades, et meil on andmeobjektide massiiv:
var list: Array; // andmeobjektide massiiv, mille oleme juba laadinud var data:Data = new Data(); // iga jaoks uus andmekonteiner (var o:Object in list) { data.addNode(o); }
Tulemuseks on a Data
visuaaliga asustatud objekt DataSprite
(sõlmed või servad) eksemplare.
Praktikas ei pea te alati visualiseeritud andmeid käsitsi sisestama. Et luua a Data
objekti laaditud andmekogumi visualiseerimiseks, saate selle asemel sageli kasutada mugavusmeetodit. The Data.fromArray()
funktsioon loob a Data
näide tabeliandmete jaoks, mis on salvestatud ActionScripti objektide massiivina, samas kui Data.fromDataSet()
meetod loob samamoodi a Data
laaditud eksemplar DataSet
objekt
Visualisatsiooni konstrueerimine
Nüüd paneme selle kõik kokku, et alustada visualiseerimist. The Visualization
klass esindab ühte visualiseerimist, sealhulgas visuaalseid märke (salvestatud a Data
näide) ja teljed. Visualisatsiooni loomiseks laadime andmestiku, lisame andmed visualiseerimisse ja seadistame operaatorid, mis määravad, kuidas andmeid visualiseerida. Siin on näide. Kõigepealt vaadake kood üle ja seejärel lugege edasi, et mõista, mida iga osa teeb.
pack { import flare.data.DataSet; import flare.data.DataSource; import flare.scale.ScaleType; import flare.vis.Visualiseerimine; import flare.vis.data.Data; import flare.vis.operator.encoder.ColorEncoder; import flare.vis.operator.encoder.ShapeEncoder; import flare.vis.operator.layout.AxisLayout; import flash.display.Sprite; import flash.events.Event; import flash.geom.Rectangle; import flash.net.URLLoader; [SWF(width="800", height="600", backgroundColor="#ffffff", frameRate="30")] public class Tutorial extends Sprite { private var vis:Visualiseerimine; public function Tutorial() { loadData(); } privaatne funktsioon loadData():void { var ds:DataSource = new DataSource( "http://flare.prefuse.org/data/homicides.tab.txt", "tab"); var loader:URLLoader = ds.load(); loader.addEventListener(Event.COMPLETE, function(evt:Sündmus):void { var ds:DataSet = loader.data as DataSet; visualize(Data.fromDataSet(ds)); }); } privaatne funktsioon visualiseerimine(andmed:andmed):void { vis = new Visualiseerimine(andmed); vis.bounds = new Ristkülik(0, 0, 600, 500); vis.x = 100; vis.y = 50; lisalaps(vis); vis.operators.add(new AxisLayout("data.date", "data.age")); vis.operators.add(new ColorEncoder("data.cause", Data.NODES, "lineColor", ScaleType.CATEGORIES)); vis.operators.add(new ShapeEncoder("data.race")); vis.data.nodes.setProperties({fillColor:0, lineWidth:2}); vis.update(); } } }
Vaatame iga meetodit.
Konstruktor on lihtne: see lihtsalt kutsub loadData
meetod.
. loadData
meetod loob uue andmeallika ja laadib selle varem kirjeldatud meetodite abil. Sel juhul on andmete kogum teatatud mõrvadest Los Angelese maakonnas 2007. aastal, salvestatuna tabeldusmärgiga eraldatud vormingus. Kui laadimine on lõppenud, lisatakse laaditud andmekorteežid a-sse Data
näiteks kasutades fromDataSet
mugavuse meetod. Kapoti all tekib selle tulemusena NodeSprites
iga andmeüksuse visualiseerimiseks. Lõpuks, visualize
meetodit nimetatakse.
. visualize
meetod seadistab visualiseerimise. Igas etapis toimub järgmine.
- 1. osa: Initsialiseerimine
- Andmete jaoks luuakse uus visualiseerimine
- Seame visualiseerimisele piirid. See määrab paigutusala.
- Seadsime
x
jay
meie visualiseerimise asukohta ja lisage visualiseering kuvamisloendisse.
- Osa 2: Visuaalsete kodeeringute määramine
- Kasutame telje paigutust, asetades x-teljele "kuupäeva" ja y-teljele "vanuse". The
AxisLayout
operaator konfigureerib automaatselt ka visualiseerimise teljed. Kasutame andmemuutujate tähistamiseks süntaksit "data.date", kuna need asuvadNodeSprite
sdata
vara. - Lisame värvikodeeringu, nii et sõlme joone värv tähistab muutujat "põhjus" (surma põhjus). Samuti ütleme värvikooderile, et muutuja "põhjus" väärtused tähistavad kategooriaid (
ScaleType.CATEGORIES
). Värvikooder kasutab seda teavet sobiva värvipaleti automaatseks valimiseks. Nagu varsti näeme, saate pakkuda ka oma värvipaleti. - Lisame kujundi kodeeringu, nii et objekti kuju kujutab endast ohvri "rassi".
- Määrame vaikeomadused – määrame sõlmede täitevärvi täiesti läbipaistvaks ja joone laiuseks 2 pikslit.
- Lõpuks helistame
update
meetod. See käivitab kõik operaatorid järjekorras.
- Kasutame telje paigutust, asetades x-teljele "kuupäeva" ja y-teljele "vanuse". The
Visualisatsiooni värskendamine
Kui visualiseering on loodud, soovime seda võib-olla värskendada. Näiteks sooviksime muuta värvikodeeringut, et visualiseerida hoopis inimeste sugu.
Esmalt lisame klassile uue meetodi:
privaatne funktsioon colorByGender():void { var color:ColorEncoder = ColorEncoder(vis.operators[1]); color.source = "data.sex"; color.palette = uus värvipalett ([0xffff5555, 0xff8888ff]); vis.update(new Transitioner(2)).play(); }
See meetod:
- Otsib teise operaatori (indeksi 1 operaator) ja heidab selle üle a
ColorEncoder
- Muudab
source
atribuut, et värvikooder saaks kasutada muutujat "data.sex". - Määrab uue värvipaleti (antud juhul punane naistele, sinine meestele – värvijärjestus ühtib siltide tähestikulise järjekorraga)
- Animeerib muudatuse, kutsudes esile update nupuga a
Transitioner
seatud kahesekundiliseks animatsiooniks. Thevis.update
meetod tagastabTransitioner
, et saaksime värskenduse tagastamisväärtust mängida. (Märkus: võite ka välja jättaTransitioner
ja lihtsalt andke arv 2 argumendina edasiupdate
. uusTransitioner
luuakse automaatselt ja tagastatakse.)
Nüüd peame rakenduse ühendama, et saaksime värskenduse interaktiivselt käivitada. Selleks lisage konstruktorile järgmine kood:
// klikitava sildi lisamine var button:TextSprite = new TextSprite("Värv soo järgi"); lisalaps(nupp); nupp.x = 710; nupp.y = 50; button.buttonMode = tõene; button.addEventListener(MouseEvent.CLICK, function(evt:MouseEvent):void { colorByGender(); } );
See kood:
- Loob uue tekstisildi (
TextSprite
on abimeeste klass päritflare.display
pakett) - Lisab rakendusele sildi ja määrab selle asukoha
- Komplektid
buttonMode
tõeseks (see paneb sildi kohal hiirekursori kuvama) - Lisab sündmuste kuulaja, mis käivitub sildil klõpsamisel. Lisame tagasihelistamisfunktsiooni, mis kutsub
colorByGender
meetod.
Ülaltoodud koodi toimimiseks peame faili ülaossa lisama järgmised impordilaused:
import flash.events.MouseEvent; import flare.animate.Transitioner; import flare.display.TextSprite; import flare.util.palette.ColorPalette;
Nüüd peaksite saama rakenduse kompileerida ja käivitada. Sildi „Värv soo järgi” klõpsamine peaks animeerima värvikodeeringu muutust.
Järgmised sammud
Ülaltoodud näited näitavad Flashi ja Flare'i teegi põhitõdesid, kuid on veel palju funktsioone, mida pole veel käsitletud. Edaspidi soovitame (a) kontrollida nii välku kui ka välku API dokumentatsiooni, et saada aimu kõigist saadaolevatest klassidest, ja (b) uurides Flare'i demosid, et näha, kuidas siin näidatud samu põhimõtteid saab kasutada mitmete muude visualisatsioonide koostamiseks. Või, mis veelgi parem, uurige läbi Flare'i lähtekoodi, et saada teada, mis kapoti all toimub.
Selle protsessi hõlbustamiseks on siin toodud alampakettide üldine ülevaade flare.vis
:
flare.vis.axis
: pakub telgi, silte ja võrgujooniflare.vis.controls
: interaktsioonikäsitlejad valiku, suumi ja muu jaoksflare.vis.data
: visuaalsed objektid, mis esindavad andmeelementeflare.vis.data.render
: ühendatavad renderdajad, mis joonistavadDataSprites
flare.vis.events
: välgu raamistikus kasutatavad sündmuste tüübidflare.vis.legend
: kujutab legende visuaalsete kodeeringute kirjeldamiseksflare.vis.operator
: ehitusplokid visualisatsioonide määratlemiseksflare.vis.palette
: paletid värvi, kuju ja suuruse väärtuste jaoksflare.vis.util
: üldised kommunaalklassid
Peaksite nüüd piisavalt teadma, et mõista demosid selles flare.demos
pakett. Mängige, muutke, kopeerige, kleepige ja arendage demosid, et saada paremini aru, kuidas Flash ja Flare töötavad.
Lingid
Allalaadimine
TÖÖRIISTAD
Muud tehnilised juhendid
Toetus
- 100
- 7
- 9
- juurdepääs
- Täiendavad lisad
- ADEelis
- Materjal: BPA ja flataatide vaba plastik
- Lubades
- Amazon
- analytics
- Teated
- API
- app
- taotlus
- rakendused
- PIIRKOND
- argumendid
- ümber
- Alused
- kaamerate taga
- BEST
- Natuke
- Must
- Raamatud
- Kast
- brauseri
- Bug
- vead
- ehitama
- ehitaja
- Ehitus
- Kobar
- helistama
- juhtudel
- Põhjus
- muutma
- kanalid
- laps
- Ring
- kood
- kaubandus-
- ühine
- kogukond
- arvutustehnika
- Konteiner
- sisu
- maakond
- Paar
- loomine
- Praegune
- andmed
- andmekogum
- tegelema
- Disain
- & Tarkvaraarendus
- arendusvahendeid
- leevendada
- serv
- toimetaja
- keskkond
- sündmus
- sündmused
- Excel
- eksperiment
- mood
- tunnusjoon
- FUNKTSIOONID
- Valdkonnad
- Filtrid
- Lõpuks
- lõpp
- esimene
- Määrama
- välklamp
- Paindlikkus
- Keskenduma
- formaat
- edasi
- tasuta
- täis
- funktsioon
- tulevik
- SUGU
- Üldine
- andmine
- hall
- suur
- Green
- Grupp
- Käsitsemine
- siin
- hoidma
- Avaleht
- Kuidas
- Kuidas
- HTTPS
- ICON
- pilt
- Kaasa arvatud
- indeks
- info
- institutsioonid
- suhtlemist
- interaktiivne
- Internet
- küsimustes
- IT
- Java
- JavaScript
- Labels
- keel
- Keeled
- suur
- käivitab
- juhtivate
- Õppida
- õppimine
- Õigus
- Raamatukogu
- litsents
- Litsentsid
- piiratud
- joon
- LINK
- nimekiri
- loetelu
- Nimekirjad
- koormus
- Los Angeles
- mac
- peamine
- Tegemine
- juhtimine
- kaart
- Vastama
- matemaatika
- mudel
- nimed
- neto
- võrk
- võrgustikud
- Uued funktsioonid
- sõlmed
- teade
- ametlik
- Internetis
- avatud
- Valikud
- et
- Muu
- Valu
- perspektiiv
- Füüsika
- Platvormid
- mängija
- privaatsus
- era-
- Kasum
- Programming
- programmeerimiskeeled
- projekt
- projektihaldus
- projektid
- kinnisvara
- avalik
- Kirjastamine
- Q1
- Rass
- Lugemine
- andmed
- vähendama
- ressurss
- Vahendid
- Tulemused
- Tulu
- tagasikäik
- jooks
- jooksmine
- müük
- Skaala
- tunne
- Seeria
- komplekt
- kehtestamine
- Sugu
- Lühike
- lihtne
- SUURUS
- väike
- So
- tarkvara
- tarkvaraarenduse
- müüdud
- Ruum
- Stage
- standardite
- algus
- alustatud
- väljavõte
- statistika
- salvestada
- toetama
- Toetatud
- Toetab
- süsteem
- süsteemid
- rääkimine
- sihtmärk
- tech
- Põhitõed
- Allikas
- aeg
- ülemine
- jälgida
- läbipaistvus
- kohtuprotsess
- õpetused
- Ülikoolid
- Ülikool
- Värskendused
- Uudised
- Kasutajad
- kasulikkus
- väärtus
- visualiseerimine
- web
- veebirakendused
- Mis on
- WHO
- Wikipedia
- võitma
- aknad
- Traat
- jooksul
- Töö
- töötab
- kirjutamine
- X
- youtube