behandelingen doel gerichte etikettering wolk, de bouw van een object op TAG. 3 behandelingen,,,,,,,,,, deelt, delen, delen,,,,,, het netwerk van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, in deze les. Ik zal je laten zien hoe de oprichting van een flexibel, animatie TagCloud het doel gerichte programma 's.Ik geloof niet dat een juiste aanpak, maar een mate van efficiëntie.Als je me de code van een constructieve kritiek kan vrij te maken.,,,,, stap 1: hoe denken de wolken, de volgende stap is het belangrijk, omdat het besluit al de volgende stappen.Ik begon te zoeken naar wat ik wil bereiken, dan verscheuren het, dit is mijn ideeën: stap 2: het opzetten van een moeder, een tagcloud.as klas, schrijven deze code, met inbegrip van de klas? TagCloud {uitbreiding (publiek functie TagCloud ($word_array: array, lettertype voor $$minfontsize "Arial": De hoeveelheid = 10, maxfontsize dollar: de hoeveelheid = 30 dollar, elementcolor: = aantal 0xffffff, afmetingen: de hoeveelheid = 200 dollar): ///////nietigverklaring {hier ben ik in m 'n klas wordarray ontvangen van de variabelen = $word_array variabelen; het lettertype lettertype minfontsize = = $maxfontsize elementcolor minfontsize maxfontsize = = = dollar van de omvang van elementcolor de volledige omvang in een wolk van een variabele /buildtagcloud (); de invoer van deze l}},De bibliotheek, de invoer van flash.text.font; de invoer van: tagcloudelement; /ik later flash.display.sprite van deze invoer; de invoer van Flash. Het evenement; definitie van de variabelen:,, openbare cloudelements: generator; particuliere var var wordarray: generator; particuliere variabele woorden: touw; particuliere var - relevantie: nummer; particuliere var, de omvang van de particuliere int; de VAR - elementen: tagcloudelement; particuliere var minfontsize: nummer; particuliere var maxfontsize: nummer; particuliere var elementcolor: nummer; speciale lettertype: touw; particuliere var - lengte: int particuliere var - omvang:,, zult u deze dingen: eerst de invoer van deze verpakkingen (///////- pakket: de invoer flash.text.font; de invoer van tagcloudelement. /ik later ik heb ditDe invoer van flash.events.event; ///////flash.display.sprite; het creëren van een klasse, klasse? TagCloud uitbreiding Sprite (//moeten we deze variabelen zijn oké TagCloud cloudelements: creëren van de variabele); particuliere var wordarray: generator; - een woord: string; particuliere var - relevantie: nummer; particuliere var De omvang van privé - var - elementen: int;: tagcloudelement; particuliere var minfontsize: nummer; particuliere var maxfontsize: nummer; particuliere var elementcolor: nummer; speciale lettertype: touw; particuliere var - lengte: de volledige omvang in de locomotief: het aantal openbare functie TagCloud ($word_array: array, lettertype "Arial" Voor $10 dollar minfontsize: aantal = aantal maxfontsize: = 30 dollar, elementcolor = aantal 0xffffff, dat de dollar:Lsize: hoeveelheid = 200): ///////nietigverklaring {hier ben ik in m 'n klas wordarray ontvangen van de variabelen = $word_array variabelen; het lettertype lettertype minfontsize = = = = = = = = = minfontsize maxfontsize $maxfontsize elementcolor dollar per dollar elementcolor afmetingen = de volledige omvang een variant van De wolk buildtagcloud (na);}}}, stap 3: de belangrijkste functie van de bouw van je, zal hier de belangrijkste functie van de bouw van de wolk van onze speciale functie, buildtagcloud () {///////voor het creëren van een reeks elementen cloudelements = nieuwe installatie (); ///////lengte voor woorden dus ik kan herhalen door ze creëren de elementen getsinglewordlist lengte = (wordarray). Lengte (VAR i = 0; ik < lengte; I + +) (///////de functie terug te keren,Ik een serie, het is eigenlijk een filter, meer lezen over het woord = getsinglewordlist (wordarray) [I] ///////de functie wordt gebruikt voor de berekening van de omvang van de formule = setelementsize Wikipedia elementen (woord, wordarray, minfontsize, maxfontsize); ///////Voor het creëren van een nieuwe elementen (woorden, nieuwe tagcloudelement de omvang, het lettertype, de elementcolor), opslag); ///////de cloudelements [M] = element /cloudelements [M] gebaseerd op de omvang van de nieuwe elementen van de transparantie. α = afmetingen /maxfontsize /gewoon een willekeurige wijze weergegeven Cloud element cloudelements [M] = (x). De volledige omvang * wiskunde. Cloudelements [M] = wiskunde. Y. (*) de omvang van addchild (cloudelements [M]); ///////testen uitvoert doorDe mensen dingen cloudHitTest (i)}}, stap 4: Adding a woord anti -, laten we zien hoeveel woorden? Over. CountWord, privé functie ($word:String, $array:Array): int {VAR count:int=0; voor (var i:int=0; i< $array.length; I + +) {als ($array[i].toLowerCase ==$word.toLowerCase () () {count+=1;}} terugkeer (Count);}, stap 5: het element van de set, I - het element kan door het gebruik van a): gevonden op Wikipedia, functie setElementSize ($word:String, $array:Array, $minSize:Number, $maxSize:Number): het aantal {VAR $size:Number = $maxSize * * * * * * * countWord ($word, rekenen) /$array.length $size * = $minSize terug $size} stap 4: één woord, het creëren van een lijst, dit is a filter voor de Privat vernietigd.,De functie van getsinglewordlist (% Bron: -: -) {VAR - filter (Bron: $array. Singlewordfilter); - terug -;}, nu is voorzien van een filter van de regels, private functie singlewordfilter (element: * * * * * * * - index:::: int - booleaanse {Als (ARR) [aantal]: + 1) {als (arr.] [. Tolowercase ().[1] = index + arr. Tolowercase ()) {} {terug waar. Anders terug valse;}}}} {terug, of niet; 7 hittest stap: hoe moeten we de positie van overlapping, testen, private functie cloudhittest (ik) {(verklaring van een int = 0 < me;; + +) {///////- (cloudelements als [1]. Hittestobject (cloudelements [M])) {///////- cloudelements [M] = wiskunde. X. (*) de omvang van cloudelements [I] dollar. Y = wiskunde. (*) de omvang van addchild (cloudelements [M] USD); ///////test cloudhittest (me)}}}, salaristrap 8: vaststelling van een element van de adem in, dit is slechts een van de elementen in naam van, als ik een openbare functie in de tijdlijn, GetElemEntbyname ($):...): tagcloudelement {VAR $auxcloudelement:tagcloudelement; (var i:int = 0; ik < lengte; I + +) {als (cloudelements [M] = = = = = = = woord.) {% auxcloudelement = cloudelements [M]}} terug auxcloudelement}, stap 9: In de elementen. - de invoer flash.display.sprite; de invoer van flash.events.event; de invoer van flash.events.mouseevent; de invoer van flash.text.font; de invoer van flash.text.textfield; de invoer van flash.text.textformat; de invoer van flash.text.textfieldautosize; de invoer van flash.text.antialiastype; de invoer van flash.text.gridfittype; de invoer van flash.net.urlrequest; de invoer van flash.net.navigatetourl; uitbreiding van de cursussen tagcloudelement Sprite {de variabelen: string.G; de variabelen urlpath: touw; particuliere var textcloudformat: tekst; particuliere var textcloud:TextField; de letters van de variabele omvang: touw;: nummer van de variabele aantal; kleur: dezelfde fabrikant; ///////TagCloud element voor, de uitbreiding van een geest van /basis voor een openbare functie van de elementen van de tekst (tagcloudelement woord: het touw, dollar afmetingen: de hoeveelheid = 10, $lettertype: string = "Arial", elementcolor dollar: de hoeveelheid = 0xffffff): ongeldig {woord = USD = dollar woord lettertype lettergrootte kleur = dollar elementcolor buildelement (); de particuliere buildelement () {}) ///////textcloudformat = nieuwe tekst vorm textformat () de definitie van; ///////textcloudformat.font = lettergrootte en kleurDe omvang van textcloudformat.size = textcloudformat.color = kleur /voor het creëren van een nieuwe tekst textcloud = textfield embedded fonts (); //////////////textcloud. Embedfonts = waar; de instelling van anti - de leesbaarheid van gelijkwaardige textcloud zag. Antialiastype = antialiastype.advanced; ///////worden de tekst textcloud. De tekst het woord /definitie van de omvang van de automatische = = = = = = = textcloud. De omvang van het dossier textfieldautosize.left; ///////textcloud.gridfittype voor pixels = gridfittype.pixel /kan niet worden gekozen tekst textcloud.selectable = vals; ///////textcloud gespecificeerde formaat van de tekst. Settextformat (textcloudformat) /bij de muis gebeurtenissen voor het publiek textcloud. AddEventListener (MouseEvent roll_over, rollovercl.Oudelement) textcloud. AddEventListener (MouseEvent. Roll_out, rolloutcloudelement) textcloud. AddEventListener (MouseEvent. Klik, clickcloudelement addchild () textcloud);} privé functie rollovercloudelement (E:MouseEvent) {} e.target.textcolor = 0x666666; particuliere functie rolloutcloudelement (E:MouseEvent) {} ///////e.target.textcolor = kleur heb ik een link naar een woord. Twitter zoeken.Privé functie clickcloudelement (E:MouseEvent) {navigatetourl (nieuwe urlrequest ("http://search.twitter.com/search?Q = + e.target. Tekst), "_blank");}}}, 10: tenuitvoerlegging van maatregelen, nu nog moet doen is in de verwezenlijking van dit soort, al je spullen accustumed in hun dossier (dat wil zeggen: het tijdschema): P. Je moet het scheppen van een lettertype, kan aantonen dat De tekst, Ariel, begraaf ik je dan, in een eerste lijst TagCloud. Fla in, voorzien van een stage.align naar links, dan kunnen we het niet hoeveel werk vinden midden) en het creëren van een nieuwe zaak, wij hebben zojuist de letters toegevoegd naar de bibliotheek, de invoer van TagCloud; stage.align = stagealign.top_left var wordarray: - TagCloud:TagCloud; var; var.:) = nieuwe Arial (); ///////lettertype is een nieuw voorbeeld (in de bibliotheek) () {///////de functie van het creëren vans an array to populate the cloud \twordArray = new Array("In","this","fashion,","text","clouds","may","become","a","generally","applied","tool","for","managing","growing","information","overload","by","using","automated","synthesis","and","summarization","In","the","information","saturated","future","or","the","information","saturated","present"); \t//sorts the array alphabetically so i can filter later on \twordArray.sort(); \t//creates a new tagCloud instance \ttagCloud = new TagCloud(wordArray,arial.fontName,15,20,0x000000); \t//center's it to stage \ttagCloud.x = stage.stageWidth*0.5-tagCloud.width*0.5 \ttagCloud.y = stage.stageHeight*0.5-tagCloud.height*0.5 \t//adds to stage \taddChild(tagCloud); } init();,Step 11: Build an RSS Hé, we moeten ergens aan een diervoeder, dan kunnen we de wolken.Ik koos voor CNN News.Kan het laden van een XML - nodig met inbegrip van een urlrequest zal als een soort van andere route 4. Var. Requestfeed:urlrequest = nieuwe urlrequest ("HTTP://RSS. CNN. COM /RSS /; ///////cnn_world. RSS") een URLLoader zodat we kunnen laden om reactief loaderfeed verzoek: URLLoader = nieuwe urlloader () /XML - object kan opgeslagen gegevens ontvangen van onze diervoeders var xmlfeed:XML; niet in de laatste plaats van een titel, ik kan de woorden - van de explosie...Var titlewords: generator; 12 - stappen - methode:,, nu we in de voornaamste functie moet ik nog de volledige gebeurtenis vereist, kan worden aangemerkt als een succes van de lading, functionele () {loaderfeed. AddEventListener (gebeurtenissen. Klaar, onfeedcomplete) ///////- ik moet worden geconcretiseerd, Dus ik kan wordarray wat de opslag in diervoeders wordarray = nieuwe installatie () /we - nu klaar om te laden loaderfeed. De belasting (requestfeed);}, stap 13: de structuur van de gegevens, de structuur van de gegevens zijn opgeslagen in de e.target.data zodat we door het creëren van een XML - functie:, onfeedcomplete (E: gebeurtenissen) {xmlfeed = nieuwe XML - gegevens (e.target. Na de RSS) /van de bron, ik heb gemerkt dat een soortgelijke structuur kanaal. IkDus ik tem.title met de titel als bron van mijn woorden.///////en ik hebben een generator voor de opslag van een titel en voor elk van de in deze woorden, woorden) ///////Ik verkeer door hun woorden (VAR I: eenheid = 0; ik < xmlfeed. Kanaal. De projecten. Lengte (); I + +) (stap 14: vaststelling van een lijst van woorden. De concretisering van titlewords, bij elke stap een, heb je een schoon -, als we er een nieuwe titel, titlewords = nieuwe installatie () /doen als ik ze één van de "ruimte" titlewords = xmlfeed. Kanaal. De projecten [I]. Titel. Splitsing ("") /ik bereid ze voor ze worden toegevoegd aan de wordarray (var. J: eenheid = 0; J < titlewords. Lengte; j) {///////- ik gebruik de kleine letters, dus ik heb geen herhaalde woorden wordarray (titlewords J. Duwen. Tolowercase ()) ///////na}};Wat ik een reeks in alfabetische volgorde het woord wordarray. Soort (); /begin ik TagCloud starttagcloud (); 15 stappen: etikettering, Cloud, nu hebben we alle elementen die nodig zijn om de etikettering, we proberen de wolken, TagCloud = nieuwe TagCloud {(wordarray, Ariel, lettertype, 20,40,0xffffcd, 300);} de vangst (E: fout) {starttagcloud ()) ///////de definitie van wat er nog over is, is de X - en Y - TagCloud. X = fase. Stagewidth * * * * * * * 0.5-tagcloud. Breedte × 0,5 TagCloud. Y = fase. Stageheight * * * * * * * * 0.5-tagcloud. Hoogte van 0,5 en toegevoegd aan de fase van addchild //////////////tadaaa (tagcloud); we doen...Vergeet niet de) ///////- de belangrijkste functie (;), maatregelen): 16: de laatste code, de volgende is de integriteit van de code voor je hele, de invoer van TagCloud; stage.align = stagealign.top_left var wordarray: generator; var TagCloud:TagCloud; var.:) = nieuwe Arial (); de VAR - requestfeed:urlrequest = nieuwe urlrequest ("HTTP://RSS. CNN. COM /RSS /cnn_world. RSS); var loaderfeed:URLLoader = nieuwe urlloader () var xmlfeed:XML; var titlewords: generator; functie () {loaderfeed. AddEventListener (gebeurtenissen. Klaar, onfeedcomplete) wordarray = nieuwe installatie () loaderfeed. De belasting (requestfeed); (e) de functie van gebeurtenissen onfeedcomplete:) {xmlfeed = nieuwe XML (e.target. Gegevens) (VAR I: eenheid = 0; ik < xmlfeed. Kanaal. De projecten. Lengte (); I + +) {titlewords = nieuwe- (de) titlewords = xmlfeed. Kanaal. De projecten [I]. Titel. Splitsing ("") (VAR J: eenheid = 0; J < titlewords. Lengte; j) {wordarray (titlewords J. Duwen. Tolowercase ());}} wordarray. Zo starttagcloud () (); starttagcloud (functie);} {proberen {TagCloud = nieuwe TagCloud (wordarray, Ariel, lettertype, 20,40,0xffffcd, 300);} vangst (E: fout) {starttagcloud ()} TagCloud. X = fase. Stagewidth * * * * * * * 0.5-tagcloud. Breedte × 0,5 TagCloud. Y = fase. Stageheight * * * * * * * * 0.5-tagcloud hoogte van 0,5 addchild. (tagcloud);}, (); de conclusie, ik kan gebruik maken van de lijst, en op dat punt sneller circuleren, maar je vindt het nogal snel.Een laatste punt: het moet een willekeurige van voldoende omvang is, of je krijgt een rekenmachine fouten, cloudelement niet vinden. En ik hoop dat je genoten hebt van deze handleiding, dank u voor te lezen.,
Op 3
Previous:Het gebruik van API - en de
Next Page:Hebben we dit jaar de grootste emissie.