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

Trykknapp Tutorial Series - Parallax Background

spille demoen

laste ned kildekoden

TILBAKE TIL TUTORIAL INDEX

Parallax rulling refererer til fenomenet der objekter i det fjerne ser ut til å bevege seg langsommere enn de i forgrunnen. Flytting eller skyve fjerne objekter saktere enn de på nært hold er brukt i 2D-spill for å skape en illusjon av dybde. I Pushbutton denne effekten er lett å forfalske ved å rulle en stor bakgrunnsbilde av noen brøkdel av spillerne bevegelsen.

Først må vi skape en enhet som vil vise et bilde.

Dette følger den vanlige prosessen med å skape en romlig og sprite gjengivelse komponent, som er den samme fremgangsmåte som vi har anvendt for hver visuell spill enhet. Det er to ting å påpeke i denne koden. Den første er at vi har spesifisert SpriteRenderComponent layerIndex verdien til å være 0. Alle de andre enhetene har også spesifisert en SpriteRenderComponent layerIndex, men de bruker en verdi på 1. Dette sikrer at bakgrunnsbildet er trukket før de andre enhetene, og derfor bak dem. Det andre er at vi har måttet sette SimpleSpatialComponent størrelse verdien til noe veldig stort.

Dette stopper bildet blir hentet, og tvang den til å alltid bli trukket

EntityFactory.as

 statisk offentlig funksjon createBackground. (Navn: String, scene: String): IEntity {var enhet: IEntity = allocateEntity (); entity.initialize (navn); Var romlig: SimpleSpatialComponent = new SimpleSpatialComponent (); spatial.objectMask = new ObjectType ("Renderable"); spatial.size = new Point (Number.MAX_VALUE, Number.MAX_VALUE); spatial.spatialManager = NameManager.instance.lookupComponentByName (scene, SCENE_BOX2DMANAGER_COMPONENT) som Box2DManagerComponent; entity.

addComponent (romlig, "Spatial"); Var Render: SpriteRenderComponent = new SpriteRenderComponent (); Render.positionReference = new PropertyReference ("@ Spatial.position"); Render.loadFromImage = "../media/background.png"; Render.layerIndex = 0; entity.addComponent (Render, "Render"); Var playerRender: IDrawable2D = NameManager.instance.

lookupComponentByName ("Player", "Render") som IDrawable2D;

Den nye BackgroundImageController kontrolleren brukes til å flytte til et bakgrunnsbilde som svar på bevegelse fra en annen enhet, spilleren i dette tilfellet

 Var bgController: BackgroundImageController = new BackgroundImageController ();. bgController.TrackObject = playerRender; bgController.BGImagePositionReference = new PropertyReference ("@ Spatial.position"); bgController.Movement

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