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

Trykknap Tutorial Series - Sporing amp; amp; Jumping

afspille DEMO

hente kildekoden

TILBAGE TIL tutorial INDEX

Almindeligt i spil, du vil have spillerne tegn (eller bil, rumskib osv) altid at være synlige i midten af ​​skærmen. Trykknap gør det meget enkelt, med Scene2DComponent (oprettet i vores scene enhed), der har en ejendom kaldet trackObject.

Ved at sætte trackObject til en komponent, der udvider IDrawable2D interface, ligesom SpriteRenderComponent komponent vores afspiller enhed bruger til at tegne en sprite til skærmen, den enhed, som indeholder dette komponent automatisk vil blive set i midten af ​​skærmen, når det bevæger sig rundt.

Implementering dette tager kun et par linjer kode i EntityFactory createPlayer funktionen

EntityFactory.as

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

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

For at gøre spilleren mere interessant at se, vi vil give det mulighed for at hoppe. Til dette punkt kollisionsdetekterings systemet har sørget for at justere hastigheden af ​​afspilleren som reaktion på en kollision. Når spilleren rammer en platform gulv lodret hastigheden er sat til 0 for at stoppe det falder yderligere, og når den rammer en mur horisontale hastighed er sat til 0 for at stoppe afspilleren kører.


I praksis tilsætning evnen at hoppe er ganske enkel: når afspilleren står på jorden og springet tasten trykkes vi simpelthen indstille vertikale hastighed til en forudbestemt hoppe hastighed. Men at vide, når afspilleren står på jorden kræver at blive informeret om de sammenstød i det system, der i forvejen fandtes i baggrunden.

kollision systemet, ligesom animationen systemet, bruger ActionScript begivenheder til at anmelde komponenter, som en Der er opstået kollision.

Siden KeyboardController i sidste ende vil være ansvarlig for at beslutte, når spilleren vil hoppe, vil det være den KeyboardController, der vil lytte efter kollision begivenheder. De onAdd og onRemove funktioner, som er en del af EntityComponent klasse, der alle trykknap komponenter udvide, er der, hvor vi tilføje og fjerne en komponent fra begivenheden systemet. Salg

KeyboardController.as

 beskyttet overstyringsfunktionen onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.

COLLISION_EVENT, OnCol

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