Grensesnitt mellom to filer med LocalConnection Class

Interface mellom to filer Bruke LocalConnection Class
Del
Del
Del
Del

Dette Cyber ​​Monday Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.

I denne opplæringen vil vi bruke AS3 LocalConnection klassen til å sende og motta data mellom to forskjellige SWF-filer. I dag vil vi bruke dette til å oppdage musen bevegelse i en SWF og speile det i en annen.




Endelig resultat Forhåndsvisning

La oss ta en titt på det endelige resultatet vi skal jobbe mot. Nedenfor er to helt forskjellige filer.

Denne opplæringen er delt inn i to deler. Den første vil konsentrere seg om å sende SWF og den andre vil innebære å bygge den mottak SWF. Jeg vil også bruke dokumentet klassen hele denne opplæringen



Seksjon 1:. Sende Informasjon


Trinn 1: Sende New Flash Document

For det første, .. opprette en ny Actionscript 3.0 fil

Deretter endre størrelsen på filen til 600px × 250px



Trinn 2: Sende Legg et bakgrunns

Dette trinnet er ikke nødvendig for funksjonalitet, men mer for estetikk. Legg bildet til scenen og deretter låse sitt lag





Trinn 3:. Sende Lag Document Class

Lagre FLA som Sending.fla Hotell og deretter opprette en tom AS fil. Lagre denne filen i samme mappe som FLA og name it Sending.as
.


Så gå tilbake og knytte dokumentet klasse til FLA.




Trinn 4:. Sende oppsett Document Class

Legg en blank pakke, klasse og konstruktør-funksjonen til AS fil
pakken {public class Sende strekker MovieClip {offentlig funksjon Sending () {}}}



Trinn 5: Sender Import Classes

Det første vi må gjøre vårt dokument klassen er å importere alle klasser som vi trenger i fremtiden
pakke {import flash.display.MovieClip.; import flash.events.Event; import flash.events.StatusEvent; import flash.events.MouseEvent; import flash.net.LocalConnection; public class Sende strekker MovieClip {offentlig funksjon Sending () {}}}



Trinn 6: Sende LocalConnection Usage

Før vi begynne å sende informasjon med en lokal tilkobling, er det best at vi lærer nøyaktig hvordan du bruker den. Dette er veldig enkelt og består av bare to deler:.

  • Erklærte en forekomst av klassen

    Bruke .send ()
    metode
    .

    Erklærte en forekomst av Lokal tilkobling klassen er enkelt:
    private Var localConnection: LocalConnection = new LocalConnection ();

    Neste vi trenger å bruke .send
    metoden. Denne metoden kobles til den andre SWF og deretter utløser en funksjon i den mottakende fil som håndterer alle variable som sendes over. La oss se et eksempel:
    localConnection.send ("_ Connection", "metode", variable1, variable2);

    Både tilkoblingsnavnet og metodenavnet bør settes i anførselstegn (som de er strenger). I tillegg er det best å starte navnet forbindelse med en underst product: (_). Metoden navn er bare navnet på den funksjonen som du ønsker å bli utløst i mottaks SWF. Funksjonen, i mottaks SWF, vil bli utstyrt med de variable som argumenter
    . Nå, la oss bruke det vi har akkurat lært



    Trinn 7: Sende variabler & Constructor

    Her er alle variablene vi trenger å erklære:
    private Var localConnection: LocalConnection = new LocalConnection (); privat Var mX: Number; private Var min: Number;

    Etter å erklære en forekomst av vår lokal tilkobling, skaper vi to variabler. mX
    vil holde musens 'x' verdi og Min
    vil holde musens 'y' verdi. Denne koden må plasseres før konstruktøren funksjon, men inne i klassen.

    Neste er konstruktøren funksjon. Denne funksjonen inneholder bare én linje: å legge en hendelse lytteren for Event.ENTER_FRAME
    hendelsen. Vi vil dekke funksjonen det samtaler i neste trinn. Her er det ferdige konstruktør funksjon:
    offentlig funksjon Sending () {stage.addEventListener (Event.ENTER_FRAME, mainLoop, falsk, 0, true);}



    Trinn 8: Sende mainLoop Funksjon
    < p> I forrige trinn, opprettet vi en hendelse lytteren som kaller denne funksjonen én gang hver ramme. Denne funksjonen skal gjøre to ting. Den første er å sette variablene mX Hotell og Min
    lik musens 'x' Hotell og 'y'
    stilling hhv. Det andre er å sende disse to variablene, gjennom Lokal tilkobling til den andre SWF-fil

    Her er det ferdige funksjon:
    privat funksjon mainLoop (e: Hendelses):. Void {mX = mouseX; mY = mousey; localConnection.send ("_ mouseConnection", "processData", MX, min);}

    Når du sender dataene bruker vi "_ mouseConnection"
    som tilkoblingsnavnet og "processData"
    som metodenavnet. Dette betyr at det vil forsøke å ringe processData (MX, min)



    Trinn 9:. Sende Status Hendelse

    Vi er nesten ferdig. Alt som gjenstår er å håndtere statusen hendelsen. Den LocalConnection objekt sender status hendelser; i dette prosjektet har vi ikke skal bruke hendelsene; men hvis vi ikke lytter ut for dem, vil vi få feil slik som dette: 'Feil # 2044: Ubehandlet StatusEvent :. nivå = feil kode = '

    Vi har allerede importert arrangementet i trinn 5, så først vil vi legge til en hendelse lytteren for en status hendelse i konstruktør-funksjon:
    offentlig funksjon Sending ( ) {stage.addEventListener (Event.ENTER_FRAME, mainLoop, falsk, 0, true); localConnection.addEventListener (StatusEvent.STATUS, onStatus);}

    Nå må vi opprette en blank funksjon for å svare på hendelsen. Funksjonen kalles 'onStatus'
    privat funksjon onStatus (e: StatusEvent):. Void {};



    Trinn 10: Sende Oppsummering

    I del 1 Vi har lært hvordan du bruker LocalConnection klassen til å sende informasjon, via en tilkobling til en annen flash-fil. Her er vår ferdig AS fil for Seksjon 1:
    pakke {import flash.display.MovieClip; import flash.events.Event; import flash.events.StatusEvent; import flash.events.MouseEvent; import flash.net.LocalConnection; public class Sende strekker MovieClip {private Var localConnection: LocalConnection = new LocalConnection (); private Var mX: Number; private Var min: Number; offentlig funksjon Sende () {stage.addEventListener (Event.ENTER_FRAME, mainLoop, falsk, 0, true); localConnection.addEventListener (StatusEvent.STATUS, onStatus); } Private funksjon mainLoop (e: Hendelses): void {mX = mouseX; mY = mousey; localConnection.send ("_ mouseConnection", "processData", MX, min); } Private funksjon onStatus (e: StatusEvent): void {}; }}



    Seksjon 2: Motta Informasjon


    Trinn 11:. Motta New Flash Document

    For det første, opprette en ny Actionscript 3.0 fil

    Deretter endre størrelsen på filen til 600px × 250px



    Trinn 12:. Motta Legg en bakgrunns

    Som før, er ikke nødvendig for funksjonalitet dette trinnet, men mer for estetikk. Legg bildet til scenen og deretter låse sitt lag





    Trinn 13:. Motta Opprett et objekt

    Nå må vi oppretter et objekt å speile musepekeren. Det vil bli gitt samme X Hotell og Y
    verdier som musepekeren i den andre filen via Actionscript.

    I dette eksempelet jeg bruker et ikon av en blyant (courtesy of WeFunction). Importere ikonet til scenen, i sitt eget lag, og deretter konvertere den til en MovieClip og gi den en forekomst navn cursor_mc
    .


    Som standard registreringspunktet (korset, ikke sirkelen) er i øvre venstre hjørne. Dette betyr at når vi fullføre prosjektet, vil blyanten være litt ut fra plasseringen av musen. Å fikse, dobbeltklikk på blyanten, og tilpasse det slik at enden av blyanten er på registreringspunkt




    Trinn 14:. Motta Lag Document Class Anmeldelser

    Som i den første delen, lagre FLA som Receiving.fla Hotell og deretter opprette en tom AS fil. Lagre denne filen i samme mappe som FLA og name it Receiving.as
    .


    Så gå tilbake og knytte dokumentet klasse til FLA.




    Trinn 15: Motta Oppsett Document Class

    Legg en blank pakke, klasse og konstruktør-funksjonen til AS fil
    pakken {public class Motta strekker MovieClip. {offentlig funksjon Motta () {}}}



    Trinn 16: Motta Import Classes

    Akkurat som før, importerer alle klassene vi trenger
    pakke {import flash.display.. MovieClip; import flash.events.Event; import flash.events.StatusEvent; import flash.net.LocalConnection; public class Motta strekker MovieClip {offentlig funksjon Motta () {}}}



    Trinn 17: Motta LocalConnection Usage

    Vi er nå klar til å begynne å skrive koden for å motta informasjon fra lokal tilkobling . Her er hva vi må gjøre..

  • Erklærer en forekomst av klassen

    Koble til lokal tilkobling

    Sett klient
    for lokal tilkobling

    Lag en metode for å motta data fra den lokale tilkoblingen

    Erklærte en forekomst av Lokal tilkobling klassen er den samme som før:..
    privat Var localConnection. LocalConnection = new LocalConnection ();

    Neste vi trenger å koble til tilkobling som vi laget når vi sendte dataene fra den andre filen
    localConnection.connect ("_ Connection");

    Nå vi setter kunden. Klienten viser gjenstanden på hvilken funksjonene kalles. Vanligvis er den satt til denne
    localConnection.client = dette;..

    Til slutt må vi opprette en blank funksjon som vil motta data gjennom sine argumenter
    offentlig funksjon metode ( variable1: type, variable2: type ...): void {};



    Trinn 18: Motta forkynner LocalConnection og Skrive Constructor Function

    Nå som vi vet hvordan de skal motta informasjon med en lokal tilkobling, kan vi begynne å skrive manuset. Erklære først en ny LocalConnection eksempel. . Plasser denne før konstruktøren funksjon i klassen
    private Var localConnection: LocalConnection = new LocalConnection ();

    Så, i konstruktør-funksjonen, koble til lokal tilkobling og sin klient:
    offentlig funksjon Motta () {localConnection.connect ("_ mouseConnection"); localConnection.client = dette;}

    (Legg merke til at vi kobler til en lokal tilknytning til samme ID som vi brukte i Sende fil.)



    Trinn 19: Motta processData () Funksjon

    Når informasjonen ble sendt fra avsender fil, ble en mottaksfunksjon eller metode som heter. I dette prosjektet, jeg brukte funksjonen processData ()
    . Følgende funksjon mottar X Hotell og Y
    koordinater som argumenter og deretter bruker dem til å sette blyanten posisjon
    offentlig funksjon processData. (MX: Number, min: Number) {cursor_mc .x = mX; cursor_mc.y = mitt;}

    Denne funksjonen må være en offentlig
    funksjon slik at den kan nås via lokal tilkobling



    Trinn 20: Motta Status Event.

    Som med § 1, fordi vi bruker en lokal tilkobling, vi må håndtere status hendelser. Arrangementet har allerede blitt importert i trinn 16, slik at vi nå må legge til en hendelse lytteren for hendelsene. La oss legge til en linje til konstruktøren funksjon:
    offentlig funksjon Motta () {localConnection.connect ("_ mouseConnection"); localConnection.client = dette; localConnection.addEventListener (StatusEvent.STATUS, onStatus);}

    Deretter oppretter vi en blank funksjon for å svare på arrangementet lytteren:
    privat funksjon onStatus (e: StatusEvent): void {};



    Trinn 21: Motta Oppsummering

    I denne andre delen har vi lykkes fått informasjon fra en lokal tilkobling og behandlet det. Her er vår ferdig AS file:
    pakke {import flash.display.MovieClip; import flash.events.Event; import flash.events.StatusEvent; import flash.net.LocalConnection; public class Motta strekker MovieClip {private Var localConnection: LocalConnection = new LocalConnection (); offentlig funksjon Motta () {localConnection.connect ("_ mouseConnection"); localConnection.client = dette; localConnection.addEventListener (StatusEvent.STATUS, onStatus); } Offentlig funksjon processData (MX: Number, min: Number) {cursor_mc.x = mX; cursor_mc.y = mitt; } Private funksjon onStatus (e: StatusEvent): void {}; }}



    Konklusjon

    I denne opplæringen har vi lært hvordan du bruker LocalConnection klassen. Du har sett hvordan du sender informasjon, motta informasjon og også hvordan de skal håndtere status hendelser. Denne metoden brukes ofte i nettannonsering når en annonsør ønsker å synkronisere en annonse mellom to forskjellige annonseplasseringer på én nettside. Det samme prinsippet kan lett bli utviklet til å omfatte to-veis kommunikasjon mellom to filer

    Takk for at du leser denne opplæringen.; Jeg håper du likte det! Anmeldelser



    Next Page: