*   >> Lese Utdanning Artikler >> science >> programming

Å gjøre en Space Invaders-klone med taste - Den player

spille demoen

laste ned kildekoden

TILBAKE TIL TUTORIAL INDEX

Det neste trinnet i å lage plass invaders klone er å legge spilleren. Fordi spilleren ikke er animert er det faktisk lettere å definere enn fienden på grunn av det faktum at vi ikke trenger å forholde seg til AnimationController. Spilleren vil bli definert som en mal, ikke fordi mer enn én vil bli lagt til enhver tid, men fordi det gjør det lettere å skape en ny spiller enhet fra flere nivåer hvis nødvendig.

Uten en felles mal hvert enkelt nivå måtte definere spilleren enhet individuelt, hvilket er en unødvendig ulempe. Faktisk den grunn ganske mye hver enhet i et multilevel spillet ville bli definert i en mal, og refererte fra et nivå definisjon.

Kode

Mens Trykknapp omfatter komponentene omhandler mye det grunnleggende, som posisjonering, flytting og rendering en enhet, er en ting det gjør ikke gi noen måte å kontrollere en enhet. Dette kan enten være kontroll via tastatur eller mus input, eller en AI styre en fiende.

Spilleren i Space Invader spill kan bare utføre noen enkle tiltak, nemlig å flytte til venstre og høyre, og brann sitt våpen. Denne logikken vil bli plassert i en komponent kalt PlayerControllerComponent.

Kode

PlayerControllerComponent.as

spillere bevegelse (og til slutt avfyring av våpenet) vil bli oppdatert en gang per ramme. Den enkleste måten å utføre handlinger innenfor trykknappen gjengi løkken er å skape en komponent som utvider TickedComponent klassen. .

Dette gir deg tilgang til onTick funksjon, som kalles en gang per ramme

 public class PlayerControllerComponent strekker TickedComponent {

PlayerControllerComponent trenger to referanser til variabler holdt av sin overordnede enhet: den hastighet og posisjon. Flytte spilleren til venstre og høyre vil bli oppnådd ved å endre x-komponenten av hastigheten, mens stillingen vil bli endret for å hindre spilleren i å bevege seg utenfor skjermen.

 [TypeHint (type = "flash.geom. "offentlig Var velocityReference punkt)]: PropertyReference; [TypeHint (type = "flash.geom.

Point")] offentlig Var positionReference: PropertyReference;

De neste tre variabler definere bredden på skjermen, hastigheten at spillerne skipet vil flytte, og hvor langt unna kanten på skjermen for å stoppe spilleren når den beveger seg horisontalt

 offentlig Var screenWidth. int = 480; Var hastighet offentlig: Nummer = 200; offentlig Var sideBuffer: in

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.