*   >> läser Utbildning artiklar >> science >> programming

Tryckknapp Tutorial Series - Parallax Background

spela demo Omdömen

ladda ner källkoden Omdömen

TILLBAKA TILL Handledningen INDEX Omdömen

Parallax rullning hänvisar till fenomenet där föremål i fjärran tycks röra sig långsammare än de i förgrunden. Flytta eller glidande avlägsna objekt långsammare än de på nära håll används i 2D-spel för att skapa en illusion av djup. I Tryckknappsomkopplare är lätt att förfalska genom att rulla en stor bakgrundsbild av någon del av spelarna rörelsen denna effekt. Omdömen

Först måste vi skapa en enhet som kommer att visa en bild.

Detta följer den vanliga processen för att skapa en rumslig och sprite rendering komponent, som är samma process som vi har använt för varje visuell spel enhet. Det finns två saker att påpeka i denna kod. Den första är att vi har angivit SpriteRenderComponent layerIndex värdet vara 0. Alla andra enheter har också anges en SpriteRenderComponent layerIndex, men de använder ett värde av 1. Detta säkerställer att bakgrundsbilden ritas innan andra enheter, och därför bakom dem. Det andra är att vi har varit tvungna att ställa in storlek värdet SimpleSpatialComponent till något mycket stort.

Detta stoppar bilden från att avlivas, tvingar den att alltid dras Omdömen

EntityFactory.as Omdömen

 statisk offentlig funktion createBackground. (Name: String, scenen: String): IEntity {var enhet: IEntity = allocateEntity (); entity.initialize (namn); var spatial: SimpleSpatialComponent = new SimpleSpatialComponent (); spatial.objectMask = new objekttyp ("Renderable"); spatial.size = new Point (Number.MAX_VALUE, Number.MAX_VALUE); spatial.spatialManager = NameManager.instance.lookupComponentByName (scen, SCENE_BOX2DMANAGER_COMPONENT) som Box2DManagerComponent; entity.

addComponent (rumslig, "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 ("Spelare", "Render") som IDrawable2D;

Den nya BackgroundImageController controller används för att flytta bakgrundsbilden som svar på förflyttning från en annan enhet, spelaren i det här fallet Omdömen

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

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.