Som en generell regel konstruktøren av en komponent bør ikke inneholde noen kode. Når en ny komponent er opprettet, og konstruktøren kalles, er det ikke er festet til en enhet. Selv om de ikke er brukt her, onAdd og onRemove funksjoner er i hovedsak de samme som konstruktøren og destructor (for de C ++ programmerere der ute)
offentlig funksjon PlayerControllerComponent () {super ().; }onTick funksjonen er der vi oppdatere spilleren. Først får vi en referanse til enheter hastighet og posisjon.
Disse verdiene er holdt av den romlige komponenten og knyttet i XML-malen definisjon, men det gjør ingen forskjell på PlayerControllerComponent hvor disse verdiene kommer fra. En slik løs kopling er en av de aspektene av trykknappen komponent designsystem. Den PlayerControllerComponent vet hvordan du endrer posisjon og hastighet av en enhet, men det bryr ikke hvordan posisjon og hastighet brukes
offentlige styringsfunksjon onTick (tickRate: Number):. Void {super.onTick (tickRate ); Var hastighet: Point = owner.getProperty (velocityReference); Var posisjoner: Point = owner.getProperty (positionReference);
Det er alltid en mulighet for at eiendommen referanser ikke ble satt, i hvilket tilfelle posisjons- og hastighetsvariabler vil være null. Selv om utgivelsen flash player mislykkes uten med slike feil, kan vi like godt forholde seg til denne muligheten grasiøst her ved ikke videre navigering.
if (hastighet == null || posisjon == null) avkastning ;Først ønsker vi å bundet posisjonen til spilleren slik at det ikke vil bevege seg utenfor kanten av skjermen
if (position.x> screenWidth - sideBuffer) position.x = screenWidth - sideBuffer.; else if (position.x
Da må vi oppdatere hastighet avhengig av hvilken piltast trykkes, om noen
if (InputManager.isKeyDown (InputKey.LEFT)) {velocity.x =. - hastighet;} else if (InputManager.isKeyDown (InputKey.RIGHT)) {velocity.x = hastighet;} else {velocity.x = 0;.}Vi deretter synkronisere disse endringene tilbake til morforetak
< pre> owner.setProperty (positionReference, posisjon), owner.setProperty (velocityReference, hastighet);}}
References.
as
Mens Trykknapp vil håndtere etableringen av komponenter fra klassenavnet strenger i XML fil, Action kompilatoren seg selv har ingen anelse om hvilke komponenter som har blitt referert i XML. Dette kan være et problem, fordi klassene ikke refereres til av Actionscript ikke er inkludert i de
Å gjøre en Space Invaders-klone med taste - Bullets
- Perl Funksjon pasninger og returnering av en referanse
- Mysql Sql Programming
- Søkeresultatene Html Dokument
- PHP-funksjonen Basics
- Best programmeringsspråk for å utvikle mellomstore programvare Applications
- C ++ String klasse Basics
- AS3IsoLib Tutorial Series - Flytte Boxes
- Innføring i programmering i C ++: Algoritmer, flytskjemaer og Pseudo
- C # -kode for å legge to Matrices
- Lagring Varighet i C ++