alt, hvad du kunne have at vide, om de erklæringer, *

, alt, hvad du kunne have at vide, om de erklæringer, *,,,,, andel,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet as3 101.as3 101: oop – yderligere conceptsas3 101: ups - introduktion til grænseflader, * ikke alt.,,,,,, at importen kræves * *, i as2 dage, du kunne komme uden om at skrive en, import, erklæring, som kun anvender fuldt ud kvalificeret klasse navn inden for klassen organ (f.eks. flash.display.sprite, som modsætning til, sprite,).mens du er velkommen til at anvende den fuldt kvalificerede klasse navn, som du skriver din kode, import, redegørelser for hver klasse er påkrævet, i as3.så der er ikke meget at skrive fuldt kvalificerede klasse navne, hvis man ikke anvender to klasser, der deler de samme kort navn inden for samme klasse. - måske, hvis du bruger flash, kamera, klasse sammen med en 3d - biblioteket er kamera, klasse, medmindre klassen, * * er i samme pakke, den undtagelse fra den tidligere artikel, hvis den klasse, de bruger, og klasse, du skriver, er begge i samme pakke.for alle klasser på en pakke er implicit til rådighed til hinanden, uden en, import, erklæring. det er ikke en dårlig idé at skrive, import, erklæring alligevel, fordi:,, import udtalelser er selv dokumentere kode med alle deres import, de skaber en slags åbenbart, hvad de andre klasser din time er baseret på for at gøre sit arbejde.det kan lyde som en ubetydelig ting, men disse oplysninger kan være ganske nyttigt.overveje følgende klasse * * *:, pakke com.activetuts (import com.activetuts.supertrace; import com.activetuts.activetween; offentlige klasse quicktip {offentlige funktion quicktip (var - nr: supertrace = nye supertrace(); nr. log ("hurtig tip") var mellem: activetween = nye activetween(); mellem. go().}), * * * forhåbentlig er det indlysende, at denne klasse er vejledende, ikke - funktionelle.,, hvis du så bruge det, quicktip, klasse, flash automatisk vil sørge for, at de, supertrace, og activetween, klasser, også er udarbejdet i den deraf følgende stg, fordi du har brugt, quicktip, og quicktip, kræver disse klasser. let nok, men nu overveje mere realistic klasser, der anvender snesevis af andre klasser.hvis du har brug for at vide, hvilke klasser er i brug, til et hurtigt blik på, import, afsnit kan give dig en god idé om.det er ikke udtømmende, og det er lidt misvisende, men du vil få svært ved at finde nogen, der tror, at selv dokumentere kode er en dårlig ting.,, flash, klasser har brug for import, men som ikke er udarbejdet, der er en almindelig misforståelse omkring idéen om, at bruge masser af klasser nødvendigvis betyder filen størrelse din stg vil stige.normalt er det sandt.men enhver klasse, der begynder med flash, er til rådighed af flash - spiller, og vil ikke have nogen virkning på størrelsen af dit stg.den byte kode for, lad os sige, sprite, er indeholdt i flash spiller, og du er blot at registrere, at du vil bruge en sprite, ikke bundling at byte kode ind i din stg.det er pointen med flash spiller. jeg forventer ikke, at du tror på mig.jeg forventer, at du er en smule skeptiske og kræver beviser.jeg glæder mig over, at du bevise det for dig selv, ved at følge disse trin:,, skabe en ny ned, og dertil knyttede dokument klasse,.,, i det dokument, klasse, skriv det minimum, du er nødt til at definere det som et dokument klasse:, pakke (import flash.display.sprite; offentlige klasse dokument udvider sprite {offentlige funktion document() {}}}, åbne, offentliggøre indstillinger ved presning option-shift-f12 /alt-shift-f12 (eller ved at vælge fil > offentliggøre (...). klik på "flash" tab. i "avancerede" check ", skabe størrelse betænkning" løsning. også i "stg indstillinger," kontrol ", eksport swc" valg, et, fn, tjek ", omfatter xmp metadata," option (sidstnævnte fjerner en flok of metadata fra stg, der forøger størrelsen af stg og ødelægge den størrelse betænkning, vi ser på).,, presse styringskontrol træde til prøvning af film,., tryk kontrol /command-b åbne, båndbredde, profiler, (foreligger også på baggrund > båndbredde, profiler, mens den omvendt), bemærker, at det antal bytes, det er omvendt (mine er i øjeblikket, 354, din kilometertal kan variere, men det er i den retning).vær sikker på at konstatere bytes, og ikke den kilobyte.kan du huske dette nummer.,, luk stg.,, redigere dit nummer klasse, til at bruge en flok flash, klasser.for eksempel:, pakke (import - flash. udstilling. *; import flash. medier. *; import flash. netto. *; import flash. tekst. *; offentlige klasse dokument udvider movieclip {offentlige funktion document() {var l: lad = nye loader(); l.load (nye urlrequest ("someasset. stg") og var tf: textfield = nye textfield(); var format: textformat = nye textformat ("verdana"); format.align = textformatalign.center; tf.defaulttextformat = format var v: video = nye video(), var: sunde = nye sound(); var kanal: soundchannel = s. play();}}}, vi bruger en hel del klasser, der selv indføre endnu mere classes.alle disse klasser, er flash, klasser, test filmen igen.den båndbredde, som stadig er åben fra sidste gang; hvis ikke, åbne det igen. se størrelsen af stg. jeg melder, 596, bytes med ovennævnte kode, en stigning på 242 bytes.det er ikke meget i betragtning af, at jeg bruger, movieclip, (som omfatter en hel masse andre klasser), lader urlrequest,,,,, textformat textfield,,, textformatalign,, video -, lyd, og soundchannel,.det er en del af funktioner, 242 bytes., i output - panel, vil du se noget som følger (hvis du brugte over kode ordret, du skal også se lyd og belastning fejl, men det er ikke vigtigt):, flash-test.swf film - betænkningen ---------------------------- ramme&#ramme bytes samlede bytes scene anfører derfor ----------- -----------) 1 598 598 scene 1 (3, 0 timer eksport frame) scene form bytes tekst bytes actionscript bytes anfører derfor ----------- y ------------------ scene 1 0 0 546 actionscript bytes placering ------------------ -------- 546 scene 1: ramme 1:.), bør denne test viser, at selv om vi har brugt mange flash, forudsat at klasser, som størrelsen af vores stg er forholdsvis lille.beviset er størrelsen betænkning, som vi ser ingen angivelser for nogen af de indbyggede klasser.vi ser vores dokument, klasse, men ingen andre klasser, og det er en klasse er ansvarlig for alle, actionscript bytes. hvis dette ikke er bevis nok for dig, er du velkommen til at udvide eksperimentet.du kan tilføje endnu mere flash, forudsat at klasser, og måling af stigningen i omfanget af og omvendt, som stadig er et spørgsmål af bytes.du kan omfatte grupper af dit eget, og sikre, at de optræder på listen over klasse, og også påvirke størrelsen af den omvendt på en mere tydelig.for eksempel, jeg skabte denne enkle test, klasse:, pakke (offentlige klasse test (offentlig funktion test() {spor ("test");}}}, herunder den fælles 7-line klasse, der anvender ikke andre klasser, slog min prøve stg, 717, bytes, en forøgelse af 121 bytes.denne stigning er halvdelen af den stigning, vi så ved tilsætning af alle disse, flash, klasser; byte til funktionalitet forhold bør angive, at de flash, klasser ikke er samlet i din stg. bemærker også, at du vil se en yderligere ind i størrelse for klasse »ekstra«, sådan her:, flash-test.swf film betænkning ---------------------------- ramme&#ramme bytes samlede bytes scene anfører derfor ----------- -----------) 1 719 719 scene 1 (3, 0 timer eksport frame) scene form bytes tekst bytes actionscript bytes anfører derfor ----------- y ------------------ scene 1 0 0 673 actionscript bytes locadette ------------------ -------- 179 scene 1: ramme 1: afprøvning 494 scene 1: ramme 1: dokument, morale: det er gratis at bruge så mange, flash, klasser, som du vil. * * * * * * * *.de vil ikke berøre størrelsen af dit stg (selv om den kode, der anvender disse klasser vil naturligvis), * * * * * * * *, huske på, at komponenter og flex klasser, ikke, forudsat af flash - spiller.disse kategorier synes at blive integreret, men hvis pakken ikke starter med flash, så er det ikke, som spiller.,,, joker import ikke er ineffektive, jeg er ked af det med dobbelt negativ * * * * *, men dette er en almindelig misforståelse, som jeg gerne vil præcisere.,, en hurtig definition.en farlig import, er en, der ser sådan ud:, import, flash. udstilling. *; det giver adgang til alle klasser inden for, flash.display, pakke.det er stenografi sammenlignet med (for eksempel):, import flash.display.bitmap; import flash.display.bitmapdata; import flash.display.blendmode; import flash.display.graphics; import flash. udstilling. sprite, nu den misforståelse.når jeg siger "det giver adgang til alle klasser," jeg vil ikke betyde, at hver klasse i denne pakke, automatisk er samlet i din stg.jeg mener, at enhver klasse i den pakke, der er til rådighed i kort form som du skriver navn klasse.så i det foregående eksempel, jeg vil være fri til at skrive det, var sp: sprite = nye sprite, var g: grafik = sp.graphics; g.beginfill (0); g.drawrect (0, 0, 100, 100); sp.blendmode = blendmode.); denne kodeks bruger sprite, grafik, og blendmode, der er i flash.display pakke, og alle, der skal importeres.enten tilgang har samme resultat.det er gratis at benytte wild - card import. igen et enkelt eksperiment for dem, der kræver bevis.i dette forsøg, vi har brug for ikke - flash, klasser.du skal have eksterne kurser til rådighed enten dem, du har skrevet, eller noget som papervision3d eller tweenmax.jeg vil ikke komme ind på downloading og installering af disse pakker, men med henblik på min prøve kode, som jeg vil bruge en enkelt pakke med fire klasser, der er oprettet til dette formål.du kan finde dem, sammen med test - filer, i henter pakken i "farlig import" mappe.disse kategorier er i, bibliotek, pakke.,, skabe en ny ned, og dertil knyttede dokument klasse. i din kode, indføre en enkelt klasse.for eksempel:,, import bibliotek.,., og sørg for at anvende det, som f.eks. med, var o: 1 = nye one();,, test "(presse, kommando tilbage, /kontrol indgår, eller gå til kontrol > test film).,, åbn den båndbredde, som med stg (presse, command-b, /, control-b, eller gå til betragtning > båndbredde, profiler,), note størrelsen af stg (igen i bytes, ikke kilobyte). luk stg, redigere deres dokument klasse, således at den import - anvender et wild card, i stedet for.for eksempel:,, import bibliotek. *), prøves den film igen.,, note størrelsen af og omvendt.det skal være identiske, som sidste gang, du kan også sætte størrelse (glem ikke at tænde swc mulighed og sluk xmp option) for at se, hvilke klasser er ved at blive udarbejdet, bør dette tyder på, at selv om det ser ud til, at vi importerer, alt fra den pakke, vi er virkelig kun udarbejdelsen af de emner, som vi faktisk bruger., * * * * *, nej, jeg er ikke... en import erklæring alene vil ikke samle den klasse, der er i det følgende hypotetiske eksempel:, pakke (import supertrace; import activetween; offentlige klasse quicktip {offentlige funktion quicktip() (}), det, supertrace, og activetween, klasser, er blevet indført.men de er ikke anvendes inden for klassen.flash de normalt er smart nok til at regne det ud, og fastslå, at disse to klasser ikke skal udarbejdes for det, quicktip, klasse. naturligvis, hvis en anden klasse har brug for, supertrace, klasse, så vil det blive udarbejdet.pointen er, at de er gode til, ikke, herunder unødvendig klasser i din stg. du kan bevise dette ved at oprette en prøve, der svarer til de tidligere test: sammenligning af både byte størrelse og størrelsen rapporter om to statsejede investeringsfonde, der er identiske bortset fra anvendelse af et importeret klasse.kan du se som et godt eksempel ved at sammenligne "indførsel uden brug af" og "import med brug af" projekter, der indgår i kilden, zip. hvis du af en eller anden grund er nødt til at sikre, at de, supertrace, og activetween, klasser, indsamle, selv hvis du ikke bruger dem i denne klasse, kan du tvinge det ved blot at referere til dem i kroppen i klassen.for eksempel:, pakke com.activetuts (import com.activetuts.supertrace; import com.activetuts.activetween; offentlige klasse quicktip {offentlige funktion quicktip {supertrace; activetween;}}}, det er nok til at få de ansvarlige til at se disse for klasser, selv om de budgetposter, gør ikke meget, når den kode, er at løbe.

The Publish Settings
Where to find the size of the SWF in bytes



Previous:
Next Page: