Som hovedregel konstruktøren af en komponent, bør ikke indeholde nogen kode. Når en ny komponent oprettes og konstruktøren kaldes, er det ikke knyttet til en enhed. Selvom de ikke anvendes her, det onAdd og onRemove funktioner er væsentlige svarer til konstruktøren og destructoren (for de C ++ programmører derude)
offentlig funktion PlayerControllerComponent () {super ().; }onTick funktionen er, hvor vi opdaterer afspilleren. Først får vi en reference til enheder hastighed og position.
Disse værdier er i besiddelse af den rumlige komponenter og forbundet i definitionen af XML-skabelon, men det gør ingen forskel for PlayerControllerComponent, hvor disse værdier kommer fra. Denne form for løs kobling er et af de aspekter af trykknappen komponent design system. Den PlayerControllerComponent forstår at ændre position og hastighed af en enhed, men det er ligeglad, hvordan position og hastighed bruges
offentlige override funktion onTick (Tickrate: Number):. Void {super.onTick (Tickrate ); Var hastighed: Punkt = owner.getProperty (velocityReference); Var position: Punkt = owner.getProperty (positionReference)
Der er altid mulighed for, at ejendommen referencer ikke var sat, i hvilket tilfælde positions- og hastigheds- variabler vil være null. Selvom udgivelsen flash player mislykkes lydløst med den slags fejl, kan vi lige så godt beskæftige sig med denne mulighed yndefuldt her ved ikke skrider yderligere.
if (hastighed == null || stilling == null) afkastFørst vil vi bundet positionen af afspilleren, så det ikke vil bevæge sig ud over kanten af skærmen
if (position.x> screenWidth - sideBuffer) position.x = screenWidth - sideBuffer.; ellers hvis (position.x
Så er vi nødt til at opdatere hastigheden afhængigt af hvilken pil trykkes tast eventuelle
if (InputManager.isKeyDown (InputKey.LEFT)) {velocity.x =. - hastighed} else if (InputManager.isKeyDown (InputKey.RIGHT)) {velocity.x = hastighed} else {velocity.x = 0;.}Vi synkronisere derefter disse ændringer tilbage til modervirksomheden
< pre> owner.setProperty (positionReference, position), owner.setProperty (velocityReference, hastighed),}}
References.
as
Mens Trykknap vil håndtere oprettelsen af komponenter fra klassenavnet strenge i XML fil, ActionScript compiler selv har ingen idé om, hvilke komponenter der er refereret i XML.
Realiseringen af et Space Invaders klon med Trykknap - Bullets
- Heltal og flyde objekttyper i C ++
- Oprettelse af en Flash-platform spil med flixel og Flex - Kom Started
- Anmeldelse af Best Iphone App til Email
- String Datatype i Php
- Hvordan laver spil til mobil Platforms
- Introduktion til C ++ Standard Sprog Support Bibliotek
- Mysql Binary Log File
- En kort oversigt over SQL Injection
- Mysql Begivenhed Scheduler
- Operatør Forrang i Php