Develop en Kryptering App Bruk av blits og MDM Sink
Del
Del
Del
Del
Denne Cyber Monday Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.
Kryptering er prosessen med å transformere informasjon ved hjelp av en algoritme for å gjøre det uleselig for andre enn de som besitter spesiell kunnskap, vanligvis referert til som en nøkkel.
Ved hjelp Multidmedia Zinc vi vil lage en krypterings søknad i Actionscript 3, i stand til å kryptere tekst og filer med en bruker spesifisert nøkkel
Trinn 1:. Kort oversikt
Bruke mdm.Encryption klassen og dens metoder, vil vi gjøre bruk av et enkelt grensesnitt for å få filen, tekst og nøkkelen til å kryptere
Trinn 2:. Starte
Åpne Flash og opprette en ny Flash-fil (Actionscript 3)
Sett scenen størrelsen til 500x300 px
Trinn 3:.. Interface
Et enkelt grensesnitt vil fungere veldig bra i dette programmet, så jeg ikke kommer til å detalj etableringen.
Fire knapper er til stede i startskjermen, en Texfield og et ikon brukes til å vise sin funksjon. Det er også en annen Texfield i bunnen av den scene som vises på displayet når kryptering /dekryptering er fullført. Du kan se eksempel navnene i bildet.
Dette er den andre visningen brukt i filmen. Det er en MovieClip heter "TextView" wich vil bli kalt fra Action (husk å krysse av i boksen), en stor Textfield heter "encryptText" og den andre heter "encryptKey". I Krypter File seksjoner, MÅ "encryptText" -feltet ha en full bane, kan du ikke implementere en surfing metode for å få en full bane av sikkerhetsmessige grunner.
Det er også to knapper, "encryptionButton", og en knapp som vil bli kalt med Actionscript for å gå tilbake til startskjermen, det heter "BackButton" husk å sjekke "Export for Action" ved konvertering til MovieClip.
Som du kan se, er grensesnittet veldig enkelt. Husk at hvis du er i tvil om de forekomstnavn kan du sjekke kilden
Trinn 4:.. Koden
Vi vil bruke en enkelt klasse i denne søknaden
Opprett en ny Actionscript-fil og lagre den som "Main.as"
Trinn 5:. Nødvendig Classes
La oss først import klassene vi trenger
pakke {import mdm.. *; //MDM klasser, må du importere dette til å bruke MDM metoder og egenskaper importere flash.display.Sprite; import flash.events.MouseEvent; import fl.transitions.Tween; import fl.transitions.easing.Strong; import fl.transitions.TweenEvent;
Trinn 6: Erklærte og Utvide Class
strekker Dette er de variablene vi vil bruk, forklarte i kommentarfeltet Vi kommer til å bruke MovieClip spesifikke metoder og egenskaper så vi utvider bruker MovieClip klasse. Utvide med Sprite klasse vil ikke fungere Dette er den viktigste funksjonen Denne funksjonen utføres når mdm Script starter. Det kaller bare en funksjon for å legge til noen knappe lyttere Lytterne vil bli fjernet når en av knappene er klikket En animasjon vil flytte knappene fra scenen for å skjule dem Disse funksjonene kalle Fil kryptering /dekryptering avhengig av hvilken knapp klikket Disse funksjonene bruker mdm.Encrypt klassen til å kryptere /dekryptere en fil, oppnådd ved å skrive en full banen i store Textfield, og skrive en nøkkel i den lille en Red.anm:. Jeg er redd Action i dette trinnet er årsaken vår syntax highlighter til turen Firefox opp (dette skjer noen ganger, og jeg har aner ikke hvorfor). For nå er det best du laste det ned å ta en titt. Beklager det inntrufne Disse funksjonene ringe Tekst kryptering /dekryptering avhengig av hvilken knapp klikket Disse funksjonene bruker mdm.Encrypt klassen til å kryptere /dekryptere en String, oppnådd ved å skrive inn tekst i den store Textfield, og skrive en nøkkel i den lille TextView er utsikten som vises når en av de fire viktigste knappene er klikket, her er koden som bringer det opp The Back-knappen dukker opp når TextView er aktiv. Når du trykker, går den tilbake knappene på skjermen og fjerner TextView og seg selv. . Den fjerner også den "melding" Textfield Gå tilbake til Fla og i Properties Panel, Class tekstfeltet legge til "Main". Dette vil knytte hovedklassen som Document Class Nå teste den nye søknaden vil resultere i en serie av erros som følge av bruk av MDM Classes. Å fikse det og gjøre Encryption arbeidet vi må få Multidmedia Zinc. Sink er et Flash-program Development programvare som utvider Flash Movie funksjonalitet ved hjelp av {mdm} Script, et programmeringsspråk som ligner på Actionscript, kan du laste ned en gratis prøveversjon fra sin nettside Når du har lastet Zinc Builder du må knytte sin kompilert komponent til Flash for å tolke mdm script og fjern . feilmeldinger Gå til Flash > Preferanser > (Kategori) Action > Actionscript 3.0 Innstillinger og klikker på SWC ikonet for å legge til komponenten Test din film for å skape en swf uten feil og åpen Zinc Opprett et nytt prosjekt (Cmd + N) og bla for SWF-fil. Bruk venstre og høyre panel for å tilpasse søknaden din. Så gå til fanen Extensions, og merk mdm_encryption ComboBox . Til slutt, gå til Project > Bygg Prosjekt og klikk bygge å kompilere programmet Test din nye Kryptering programvare, og husk å utforske Zinc {mdm} Script Takk for lesing.!: )
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 Hoved strekker Sprite {
Trinn 7:. Variabler
Var tween. Tween; //En tween objekt til animatevar textView: TextView; //The TextView objekt, er dette en forekomst av TextView MovieClipvar tilbake: BackButton; //En forekomst av BackButton vi laget før
Trinn 8: Utvide Class
public class Hoved strekker MovieClip {
Trinn 9:.. Constructor Funksjon
offentlig funksjon main (): void { mdm.Application.init (dette, onInit); //initialiserer {MDM} Script ™. Dette er bare nødvendig for applikasjoner som er programmert i Actionscript 3}
Trinn 10:. Init Funksjon
privat funksjon onInit (): void {addButtonListeners (); //Legger lytterne til hoved fire knapper}
Trinn 11:. Legg Button Lyttere
< p> Dette er funksjonen som legger tilhørerne
private funksjons addButtonListeners ():. void {efButton.addEventListener (MouseEvent.MOUSE_UP, encryptFileHandler); //Krypter File lytteren etButton.addEventListener (MouseEvent.MOUSE_UP, encryptTextHandler); /Krypter Text lytteren dfButton.addEventListener (MouseEvent.MOUSE_UP, decryptFileHandler); //dekryptere File lytteren dtButton.addEventListener (MouseEvent.MOUSE_UP, decryptTextHandler); //dekryptere Tekst lytteren}
Trinn 12: Fjern Button Lyttere
private funksjons removeButtonListeners (): void {efButton.removeEventListener (MouseEvent.MOUSE_UP, encryptFileHandler); etButton.removeEventListener (MouseEvent.MOUSE_UP, encryptTextHandler); dfButton.removeEventListener (MouseEvent.MOUSE_UP, decryptFileHandler); dtButton.removeEventListener (MouseEvent.MOUSE_UP, decryptTextHandler);}
Trinn 13: Knapp Animation
privat funksjons animateButtons (): void {. /* Flytter knappene til høyre * /tween = new Tween (efButton, "x", Strong.easeOut, efButton.x, stage.stageWidth + efButton.width, 1, true); tween = new Tween (etButton, "x", Strong.easeOut, etButton.x, stage.stageWidth + etButton.width, 1, true); tween = new Tween (dfButton, "x", Strong.easeOut, dfButton.x, stage.stageWidth + dfButton.width, 1, true); tween = new Tween (dtButton, "x", Strong.easeOut, dtButton.x, stage.stageWidth + dtButton.width, 1, true);}
Trinn 14: filkryptering håndterere
privat funksjon encryptFileHandler (e: MouseEvent): void {showTextView (); //Viser "TextView" textView.encryptionButton.addEventListener (MouseEvent.MOUSE_UP, encryptFile);. //Legger lytteren til kryptering Button} privat funksjon decryptFileHandler (e: MouseEvent): void {showTextView (); textView.encryptionButton.txt.text = "Dekrypter"; //Endrer Encryption Button textfields textView.encryptionButton.txtLP.text = "Dekrypter"; textView.encryptionButton.addEventListener (MouseEvent.MOUSE_UP, decryptFile);}
Trinn 15: Fil Kryptering /dekryptering
Trinn 16:. Tekst kryptering Handlers
privat funksjon encryptTextHandler (e: MouseEvent):. Void {showTextView (); textView.encryptionButton.addEventListener (MouseEvent.MOUSE_UP, encryptText);} private funksjon decryptTextHandler (e: MouseEvent): void {showTextView (); textView.encryptionButton.txt.text = "Dekrypter"; textView.encryptionButton.txtLP.text = "Dekrypter"; textView.encryptionButton.addEventListener (MouseEvent.MOUSE_UP, decryptText);}
Trinn 17: Tekst Encryption
privat funksjon encryptText (e: MouseEvent): void {if (textView.encryptText.length = 0 & & textView.encryptKey.length = 0!) {/. * mdm.Encryption.encryptString (nøkkel: String, dataToEncrypt: String [oldMethod: Boolean = true]): String * /textView.encryptText.text = mdm.Encryption.encryptString (textView.encryptKey.text, textView.encryptText.text ,falsk); message.text = "Krypterings Fullført"; } Else {trace ("Vennligst fyll ut alle feltene"); }} privat funksjon decryptText (e: MouseEvent): void {if (textView.encryptText.length = 0 & & textView.encryptKey.length = 0!) {/* mdm.Encryption.decryptString (nøkkel: String, dataToDecrypt : String [oldMethod: Boolean = true]): String * /textView.encryptText.text = mdm.Encryption.decryptString (textView.encryptKey.text, textView.encryptText.text, false); message.text = "Dekryptering Fullført"; } Else {trace ("Vennligst fyll ut alle feltene"); }}
Trinn 18: Tekstvisning
privat funksjon showTextView ().: void {textView = new TextView (); removeButtonListeners (); animateButtons (); addBackButton (); textView.x = stage.stageWidth /2; addChild (textView); tween = new Tween (textView, "y", Strong.easeOut, stage.stageHeight + textView.height, stage.stageHeight /2,1, true); //Flytter dette synet opp}
Trinn 19: Back Button
privat funksjon addBackButton (): void {tilbake = new BackButton (); back.x = back.width; back.y = stage.stageHeight /2; addChild (tilbake); back.addEventListener (MouseEvent.MOUSE_UP, backHandler);} private funksjon backHandler (e: MouseEvent): void {message.text = ""; back.removeEventListener (MouseEvent.MOUSE_UP, backHandler); removeChild (textView); tween = new Tween (efButton, "x", Strong.easeOut, efButton.x, 140,1, true); tween = new Tween (etButton, "x", Strong.easeOut, etButton.x, 360,1, true); tween = new Tween (dfButton, "x", Strong.easeOut, dfButton.x, 140,1, true); tween = new Tween (dtButton, "x", Strong.easeOut, dtButton.x, 360,1, true); removeChild (tilbake); addButtonListeners ();}
Trinn 20: Dokument Class
Trinn 21:. Sink
Trinn 22:. Sink Component
Trinn 23:.. Building
Konklusjon