De macht van de FSM en uitbreiding van de toepassing van de

FSM ter bevordering van het gebruik van energie:,,,,,,,,,, deelt, delen, delen,,,,,, het netwerk van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, aan het einde van de les die we hier veel auto 's met behulp van een staat van de FSM,.In dit deel, en je zal het zien, nog meer auto 's en van de nieuwe functies van de staat, hoe gemakkelijk het is.Klaar, je weet precies hoe je het voorwerp van de FSM structuur voor de controle, om te laten zien dat als we daaraan de animatie en geluid,,,, het uiteindelijke resultaat bekijken, zien we er voor te vechten de laatste resultaten:,, stap 1: we blijven in de weg staat in de aanvullende, dit Staat in tabel (we zullen meer) in het eerste deel van de handleiding:,, als je nog meer staat, altijd uit je meer.Hier is de nieuwe landen, en wij zullen proberen om nieuwe acties die nodig zijn voor de nieuwe actie: voor de nieuwe landen te verhogen van de actie, ben ik van mening dat dit een tijd, omdat je het eerste deel van de handleiding lezen, dus neem je tijd.Als je klaar bent met je meer, en het beeld getoond.,, stap 2: wijziging van de interface van de staat, moet je een ding is de verhoging van de in het kader van deze twee nieuwe landen optreden, je staat istate.as met inbegrip van open interface - met de volgende code.Ik zal het na de toevoeging driveforward (), de methode, de functie drivebackward () () nietig te verklaren; drivereallyfast: functie: nietig te verklaren; en de nu lopende aanvragen, eens zien wat er vervolgens gebeurt, een wijziging van de interface van de staat, moet tot uiting komen in alle vormen van de uitvoering.Dit is een van de grootste voordelen van het gebruik van een interface, ik vind het heel erg van je is hoe eraan te herinneren dat voor elk van de lidstaten bestaande toe te voegen die in alle bestaande staat, in de categorie van de toevoeging van de volgende code.Zet het op de volgende, driveforward (). De methode is.We hebben ze gebeld, drukken (deze + "van toepassing zijn hier maatregelen"), herinnert ons eraan dat we in het creëren van twee andere lidstaten moeten terug naar hun openbare taken, klas. Drivebackward (): ongeldig {_car.print (deze + "zal hier maatregelen"); de openbare functie drivereallyfast (}): ongeldig {_car.print (deze + "van toepassing zijn acties");}, moet je niet meer fouten, als de aanvraag weer, en stap 3: het creëren van een klasse twee staat open voor voertuigen van de categorieën, rond, initializestates (), de methode en de toevoeging van de volgende code, _enginedrivebackwardstate = nieuwe enginedrivebackward (de); _enginedrivereallyfaststate = nieuwe enginedrivereallyfast (de constante of klasse); niet alleen de bestaande maar en dan regelen we het.Ten eerste, in de "enginedrivebackward" daarna "CTRL + shift + 1"; "het creëren van een nieuwe klasse van" op, en dan druk op enter. Om ervoor te zorgen dat alle informatie, wedstrijden, en klik.Je moet er, zoals de volgende code.En vergeet niet, _car variabelen voor de fabrikant, "$" symbolen van de parameters.En dan doe je huiswerk. De fabrikant com.activetuts.fsm {klas, dat enginedrivebackward Istate {VAR _car: particuliere auto; de functie van enginedrivebackward ($auto 's: de auto) {_car = $- interface;} /* com.activetuts.fsm.istate * /openbare functie:void turnkeyoff () {}): openbare functie turnkeyon (openbare functie is driveforward:{()} {} openbare functie is drivebackward () {}:void openbare functie drivereallyfast () {}:void openbare functie refuel () {}:void de actualisering van de functie ($tik): openbare functie tostring nietigverklaring {} {():...}, oké.En nu terug naar de auto, we gaan daar, zet je in de cursor, _enginedrivebackwardstate, variabele, in 'CTRL + shift + 1 ";" verklaring van privé - variabelen "dan op" toegang ".Dit zal het toevoegen als de fabrikant vóór het einde van een variabele.Wijziging van het type "staat interface".Ik zal het naar de andere lidstaten, maar dit is facultatief, volgens dezelfde procedure worden gecreëerd, enginedrivereallyfast, klasse, als je gaat rennen, tostring () de toepassing van een fout, deze twee nieuwe soorten niet terug naar de waarde van de auto 's buiten, ook moeten voorzien in toegang tot de twee nieuwe controle op De bewegingen.Toevoeging van de volgende code, driveforward (), de methode, de openbare taken drivebackward (E: gebeurtenissen = nul): invaliditeit ();} {_currentstate.drivebackward openbare functie drivereallyfast (E: gebeurtenissen = nul): ongeldig;} {_currentstate.drivereallyfast () aan het einde van de expliciete ambitieus in je auto 's, meer Dan alleen maar onder de categorie, changestate (), de methode, de openbare taken getenginedrivebackwardstate (): terug naar _enginedrivebackwardstate Istate {}); openbare functie terug getenginedrivereallyfaststate (_enginedrivereallyfaststate Istate {;}, stap 4: in enginedrivebackward staat, ga terug naar je meer en het begin van de staat aan de Top van de interface Voor de uitvoering van de code.Je ontmoet waar belemmeringen, maar proberen.Je kan ook uw eigen woorden te gebruiken, de afdruk (). De methode is.Als je klaar bent met je code, met de volgende lijst van categorieën, met inbegrip van de klas te com.activetuts.fsm {enginedrivebackward Istate {particuliere var _car: auto 's; de functie van enginedrivebackward ($auto' s: de auto) {_car = $- interface;} /* com.activetuts.fsm.istate * /openbare functie turnkeyoff () {_car.print (klikken op: de leegte...- in de omgekeerde... Stop de motor is gesloten. "); _car.changestate (_car.getengineoffstate ()); de openbare functie turnkeyon (}): ongeldig {_car.print (" je rijden in een auto, geen krukas ontsteking! ")De bevordering van openbare functies;} {_car.print (): invaliditeit (klikken, overdracht van achteruit rijden... "); _car.changestate (_car.getenginedriveforwardstate ()); de openbare functie drivebackward (}): ongeldig {_car.print ("... Al zou rijden. "); de openbare functie drivereallyfast (}): ongeldig {_car.print (" klik. Het veranderen van versnelling omgekeerde turbo!"); _car.changestate (_car.getenginedrivereallyfaststate ()); de openbare functie) (): ongeldig als brandstof (_car.hasfulltank () = = vals) {_car.print ("Stop de auto parkeren in de torsie, dienst, draai de sleutel naar de positie van de toetreding af, uit" (_car.refillwithfuel ()) + (2) +. De ". (en) brandstoffen."); _car.changestate (_car.getengineoffstate ()); de functie van de bijwerking (}), tik): ongeldig {_car.enginetimer + = $tik; als (_car.enginetimer > = auto. One_sixth_seconds) {_car.enginetimer = car.one_sixth_seconds; _car.consumefuel (auto 's. Reverse_fuel_consumption); ////////25 seconden gas}}Tostring (): openbare functie terug. - rijden achter ";}}},, update (). De methode voor de aanvullende kenmerken van auto 's nodig.Heb je in de cursor, reverse_fuel_consumption, volgens de 'CTRL + shift + 1 "," verklaring van constante "dan op" toegang ".Deze verhoging van de Top in auto 's en de standaard de string.De aard van de wijziging van het aantal en de opdracht voor het 0066,.Dit laat de 25 seconden rijden met een volle tank een liter.Je kan het brandstofverbruik met andere constant., waar je, je kan er ook, turbo_fuel_consumption, waarde ongewijzigd. 016 (een liter benzine turbo - 10 seconden).Zullen we na het gebruik van klasse, enginedrivereallyfast, staat, zo simpel is het.De voortzetting van de uitvoering van, enginedrivereallyfast, klasse.Als je vast zit, ga terug naar je meer.Of je kan de voltooiing van de "open in de klas statepatternpartial2 Map bevat bij de bron te kijken wat je gemist hebt.,, stap 5: meer tests, de toevoeging van nieuwe nationale maatregelen (, _car. Drivebackward (), _car. Drivereallyfast (), in het deel van je test in de" primaire ", en de aanvraag, controleer je print het uit tegen het testen van actie of die aandacht hier zeggen" gesloten voor actie te komen "?Dit vertelt ons dat we vergeten dat terug, de toevoeging van nieuwe auto 's van de andere staat de functie van het gedrag van de klas.Iedereen zal naar je gedrag op grond van de STT. Aanvragen moeten functioneren perfect nu.Als je wilt, kan je nog steeds met je werk, met inbegrip van de klasse en de bron met downloaden.Zoals eerder vermeld, ze in de "statepatternpartial2 MAP.,, stap 6: toevoeging van media - eigendom en de bron, het downloaden van een map met de naam" media ", tot je carfsm project bin MAP.Het bevat alle geluiden en beelden, de volgende stap, maar ook met het downloaden van de bron, vind je een map met de naam "de code", in de ", in statepatterncomplete MAP.Raak niets aan, behalve de "media".Sleep hem naar uw website. Activetuts. De FSM "samen met de rest van de klas je MAP, wat belangrijk is, is dat je weet dat dit soort werk, dus je kunt er aan toe te voegen als je zou moeten kiezen, om nog een auto van de functie van de operatie, terug naar het park.Ten minste één keer, en ik zal het uitleggen: de verantwoordelijkheid van activa om de controle van hun verankering van de media, het moet veel media - middelen.Het eerste ding is om alle beelden en geluiden dossier in de "media" in de map.Animatie, audiovisuele produktie, stem zijn gemaakt van verschillende soort controle door de staat, de auto van voorbeelden, die op hun beurt doorgeven aan de vragen van de media.Als de concretisering van dit soort gedaan, vijf dingen. - het zal zich als een van de kinderen van auto 's, het creëren van de visuele effecten van auto' s, geluid, druk op de knop, en visuele weergave van de resultaten, de stem van de behandeling meestal twee functies; bijvoorbeeld, wanneer het voertuig In beweging is, als je de keuze van één enkele keuze "bestuurder" knop, auto 's, playparktodrive (), een toename van de macht van de stem van de auto, en dan, playpeakdrive (), als een stem aan de constante snelheid die stem. En auto' s, stap 7: verlenging van De verantwoordelijkheid - variabelen, te beginnen bij de Top van auto 's, _currentstate onder de code na toevoeging van een verklaring van de variabelen.De functie van deze eigenschap is toegevoegd aan de auto.Ik denk bijvoorbeeld dat in een seconde later spullen mee naar het park, auto 's of open is, of in de brandstof achter, dus daar.Een ander voorbeeld is de produktie van ruim 10 seconden na de visie dat de afdruk staat, de statische constante one_second:int = 1; ////////voor het resetten van vistuig van cortlandt park brandstof na de tweede van privé - statische constante ten_seconds:int = 10; ///////particuliere audiovisuele produktie var een ruim aantal = 0; ///////_cleanuptimer: visuele produktie: particuliere _angle opruimen! De hoeveelheid = 0; var /in het lichaam van animatie als motor in het park _reallyfastrollspeed = aantal particuliere var: 63; ///////- snelheid van de turbine locomotief _driverollspeed: hoeveelheid = 35; ///////- wanneer de snelheid van een privé - var _reverserollspeed: hoeveelheid = 15; ///////- snelheid, de omgekeerde particuliere var _currentrollspeed: hoeveelheid = 0; ///////veranderen op basis vanD de doelstellingen naar de laatste drie kenmerken van snelheid, de wielen draaien animatie voor particuliere var _carblureffect: Sprite; ///////turbine snelheid meer effect: de media; particuliere var _media /media /produktie /visuele Referentie behandeling moet de stem, en _media = nieuwe media (dit), die (); initializestates (), na de voor de juiste methode,.,, salaristrap 8: uitbreiding van de verantwoordelijkheid van de functie van de auto, auto 's, nu in, update (), de methode en de wijziging van het volgende overeen met de code en actualisering van de functie ($tik): ongeldig {_currentstate.update ($tik); _media.settitle (_currentstate.tostring ()) (_currentstate = = = = = = = _engineoutoffuelstate; als



Previous:
Next Page: