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

Trykknap Tutorial Series - Parallax Background

afspille DEMO

hente kildekoden

TILBAGE TIL tutorial INDEX

Parallax rulning refererer til det fænomen, hvor objekter i det fjerne synes at bevæge sig langsommere end i forgrunden. Flytning eller glidende fjerne objekter langsommere end dem tæt bruges i 2D spil til at skabe illusionen af ​​dybde. I Trykknap denne effekt er let at falsk ved at rulle et stort baggrundsbillede af nogle brøkdel af spillerne bevægelse.

Først skal vi nødt til at skabe en enhed, der vil vise et billede.

Dette følger den sædvanlige processen med at skabe en rumlig og sprite rendering komponent, som er den samme proces, vi har brugt til alle visuelle spil enhed. Der er to ting at påpege i denne kode. Det første er, at vi har angivet SpriteRenderComponent layerIndex værdien til at være 0. Alle de andre enheder har også angivet en SpriteRenderComponent layerIndex, men de bruger en værdi på 1. Dette sikrer, at baggrundsbilledet trækkes før de andre enheder, og derfor bag dem. Den anden er, at vi har måttet indstille SimpleSpatialComponent størrelse værdien til noget meget stort.

Dette stopper billedet fra at blive slået ned, tvinger det til at altid blive trukket

EntityFactory.as

 statisk offentlig funktion createBackground. (Navn: String, scene: String): IEntity {var enhed: IEntity = allocateEntity (); entity.initialize (navn); Var rumlig: SimpleSpatialComponent = ny SimpleSpatialComponent (); spatial.objectMask = ny objekttype ("Renderable"); spatial.size = nye punkt (Number.MAX_VALUE, Number.MAX_VALUE); spatial.spatialManager = NameManager.instance.lookupComponentByName (scene, SCENE_BOX2DMANAGER_COMPONENT) som Box2DManagerComponent; entity.

addComponent (rumlig "Rumlig") Var Render: SpriteRenderComponent = ny SpriteRenderComponent (); Render.positionReference = ny 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 controller bruges til at bevæge baggrundsbillede som reaktion på bevægelse fra en anden enhed, spilleren i dette tilfælde

 Var bgController: BackgroundImageController = ny BackgroundImageController ();. bgController.TrackObject = playerRender; bgController.BGImagePositionReference = ny PropertyReference ("@ Spatial.position") bgController.MovementScale = 0

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