*   >> Læs Uddannelse artikler >> science >> programming

Realiseringen af ​​et Space Invaders klon med Trykknap - Den player

480; offentlige Var hastighed: Antal = 200; offentlig Var sideBuffer: int = 32;

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) afkast 

Fø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.

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.