Stap 7: Flash-client en toepassing
Dus open Flash en twee nieuwe flash-bestanden te maken. Een als ActionScript 3.0 en deze de naam Client.fla, en de andere voor Adobe AIR met de naam ArduinoAIR.fla. Vervolgens twee ActionScript-bestanden maken en roep hen ClienDocument.as en ArduinoAIRDocument.as. De client bevat een component TextArea InputText onderdeel met de naam "inputMessage", "msgArea", twee knoppen onderdeel met de naam "sendButton" en "reconnectButton", drie componenten van de schuifregelaar genaamd "motorX", "motorY", "motorZ" en vier dynamische tekstvelden genaamd "red5StatusTxt", "sharedStatusTxt", "socketStatusTxt" en "queueStatus" genoemd.
AIR app heeft dezelfde onderdelen, behalve het heeft ook een extra knop onderdeel met de naam "sendArduinoButton". Wanneer u deze instellen u moet verwijzen elk flash-bestand naar de documentklasse. Document klassen in duidelijke termen worden gebruikt om uw code handmatig verplaatsen van de tijdlijn naar een externe acrionscript-bestand. Dus voor de Client.fla moet de documentklasse ClientDocument.as, en voor moeten ArduinoAIR.fla worden ArduinoAIRDocument.as. OK. Nu open ClientDocument.as en opdat zien wat we hier hebben.
In de eerste paar regels definieert we de klassen die we gaan gebruiken.
De dingen die we geïnteresseerd zijn in de openbare opstelplaats die clientdocument() dus laat gaan door elk van hen en uitleggen wat ze doen.
De eerste drie regels verbergen de TextAreas en winnaar van de trofee. De 4. lijn initialiseert de Red5Broadcast klasse die de streaming behandelt en uitzending van de video. We moeten geven het de locatie van de red5 server, de naam van de toepassing van de red5 en TextField waarin de status van de stream wordt weergegeven. Dan we hebben aan het weergaveoverzicht toevoegen anders niet zou het laten zien van de video-stream.
Vervolgens communiceert Flash met de php-aansluiting via een klasse XMLSocket die deel uitmaakt van de flitser. Ik heb een Model-klasse die zal omgaan met alle nodige luisteraars en verzending van gebeurtenissen wanneer de gegevens worden ontvangen. Het heet XMLSocketModel en initialiseren we het deze manier:
We moeten de URL doorgeven waar is onze socket, onze socket nummer, en als de laatste parameter van het type app. De URL die ik gebruik is arduinoproject.no-ip.org. Ja, ik gebruik www.no-ip.org service. Deze manier heb ik de mogelijkheid te hebben een hostname voor mijn dynamische IP. Net registreren, kies een hostnaam en hun programma op uw computer installeren. Het laatste wat dat we geven is "client" omdat we nu aan onze cliënt flash-bestand werken. Merk op dat alle parameters moeten worden ingevuld.
De volgende regel initialiseert de View class. Het wordt gebruikt om de binnenkomende gegevens weergeven en het verandert wanneer zij ontvangt de gebeurtenissen uit de klasse Model verzonden.
Wanneer we de xmlSocketView initialiseren gaan we tot het de TextArea genaamd "msgArea" als parameter. Dat vertelt het waar onze binnenkomende gegevens moeten worden weergegeven. De volgende regel vertelt welk Model het naar gebeurtenissen luisteren moet.
Dus xmlSocketView xmlSocketModel voor evenementen luisteren moeten.
Vervolgens hebben we onze Controller-klasse te initialiseren. Dit is waar alle van de magie gebeurt. De klasse van de Controller is waar alle besluiten en zijn gemaakt en alle van de opdracht worden uitgegeven. Ook zijn de knoppen die we op het podium gonna hebben luisteraars in de controller afvuren opdrachten wanneer wij hen onder druk, de controller ook wijzigingen als bovenbedoeld van de gebeurtenissen van de klasse Model ontvangen. Dus eerst initialiseren we de Controler. In de volgende moet regel vertellen we het Model die het luisteren naar. Weer is als met de weergave klasse we vertellen het Model xmlSocketModel. Dan we het vertellen dat er videoBroadcast = uitzending . We voegen de knoppen, de "queueStatus" TextField voor het weergeven van de wachtrij, de "winnerStamp" videoclip waarin wordt weergegeven als de cliënt wint.
Eindelijk initialiseren we de sharedObject die de opdrachten van de motor met de AIR app zullen uitwisselen. De parameters zijn uw domeinnaampad, de naam voor het gezamenlijke object en de "sharedStatusTxt" TextField waar de status van de gedeelde verbinding wordt weergegeven.
Nu gaan we een kijkje nemen in de code voor de lucht-app.
Neem een voorzichtig kijkje op publieke functie ArduinoAIRDocument().
De code is bijna hetzelfde als in de client flitsdossier behalve wanneer we de xmlSocketModel klasse we initialiseren moeten "Lucht" als de laatste parameter doorgeven.
De nieuwe ding dat we hier moeten gebeurt in de regels 8 tot en met 10.
Hier initialiseren we de socketModel. De socketModel is de klasse Model voor het communiceren met arduino. Het maakt gebruik van de klasse Socket flash's. Lijn 9 initialiseert de socketView die de klasse van de weergave voor de socketModel. Wanneer we initialze het er geschiedde de TextArea "msgArea", want dat is ook waar we zullen bevatten de opdrachten die we arduino verzenden en welke arduino keert terug naar de lucht app. lijn 10 vertelt de socketView te luisteren naar gebeurtenissen uit de socketModel.
Het xmlSocketAppController strekt zich uit van de xmlSocketController , zodat we het bijna dezelfde manier initialiseren.
De laatste drie coderegels Initialiseer de socketAppController oftewel de controller voor de socketModel. Het zal de communicatie tussen de AIR app en arduino via poort 5333 behandelen. Poort 5333 zal worden geopend door TinkerProxy.
Nu hebben we om onze bestanden te publiceren. De Client.fla voor Flash Player 10 en AIR app publiceren.