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

Trykknapp Tutorial Series - Tracking & amp; amp; Jumping

spille demoen

laste ned kildekoden

TILBAKE TIL TUTORIAL INDEX

Vanligvis i spill du vil at spillerne tegnet (eller bil, romskip etc) å alltid være synlig i midten av skjermen. Pushbutton gjør dette veldig enkelt, med Scene2DComponent (opprettet i vår scene enhet) som har en egenskap kalt trackObject.

Ved å sette trackObject til en komponent som utvider IDrawable2D grensesnittet, som SpriteRenderComponent komponenten vår spiller enhet bruker til å tegne en sprite til skjermen, den enheten som inneholder denne komponenten vil automatisk bli sett i midten av skjermen når den beveger seg rundt.

Implementering av dette tar bare noen få linjer med kode i EntityFactory createPlayer funksjon

EntityFactory.as

 statisk offentlig funksjon createPlayer. (navn: String, scene: String): IEntity {//... Var sceneRenderer: Scene2DComponent = NameManager.instance.

lookupComponentByName (scene, SCENE_RENDERER_COMPONENT) som Scene2DComponent; sceneRenderer.trackObject = Render; //...}

For å gjøre spilleren mer interessant å se på vi vil gi det muligheten til å hoppe. Til dette punktet kollisjonsdeteksjonssystemet har tatt seg av å justere hastigheten av den spilleren som reaksjon på en kollisjon. Når spilleren treffer en plattform gulv vertikalhastigheten er satt til 0 for å stoppe det faller videre, og når den treffer en vegg horisontalhastigheten er satt til 0 for å stoppe spilleren kjører.


I praksis legger til muligheten å hoppe er ganske enkel: når spilleren står på bakken og hoppet tasten trykkes vi bare sette den vertikale hastigheten til en forhåndsbestemt hopp hastighet. Men å vite når spilleren står på bakken krever å bli informert av kollisjonene i systemet som tidligere skjedde i bakgrunnen.

kollisjonssystem, mye som animasjonssystemet, bruker Action hendelser å melde komponenter som en kollisjon har funnet sted.

Siden KeyboardController til slutt vil være ansvarlig for å avgjøre når spilleren vil hoppe, vil det være det KeyboardController som vil lytte etter kollisjon hendelser. De onAdd og onRemove funksjoner som er en del av EntityComponent klasse som alle trykknapp komponenter forlenge, er der vi legger til og fjerner en komponent fra arrangementet system.

KeyboardController.as

 beskyttet styringsfunksjon onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); owner.eventDispatcher.

addEventListener (Col

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