*   >> Lezen Onderwijs artikelen >> science >> programming

PushButton Tutorial Series - Parallax Background

SPEEL DE DEMO

Download de broncode

Terug naar de tutorial INDEX

Parallax scrolling verwijst naar het fenomeen waarbij objecten in de verte lijkt langzamer bewegen dan in de voorgrond. Bewegende of schuifdeuren verre objecten langzamer dan die van dichtbij wordt gebruikt in 2D games om de illusie van diepte te creëren. In drukknop dit effect is eenvoudig te vervalsen door een grote achtergrond van het scrollen door een fractie van de spelers beweging.

Ten eerste moeten we een entiteit die een beeld wordt weergegeven te creëren.

Dit volgt het gebruikelijke proces om een ​​ruimtelijke en sprite rendering component, wat hetzelfde proces dat we hebben gebruikt voor elk visueel spel entiteit. Er zijn twee dingen om op te wijzen in deze code. De eerste is dat we de SpriteRenderComponent layerIndex waarde hebt opgegeven te zijn 0. Alle andere entiteiten hebben ook aangegeven een SpriteRenderComponent layerIndex, maar ze gebruiken een waarde van 1. Dit zorgt ervoor dat de afbeelding op de achtergrond wordt getrokken voordat de andere entiteiten, en dus achter hen.

De tweede is dat we hebben gehad om de SimpleSpatialComponent grootte waarde om iets heel groot te stellen. Dit stopt de afbeelding van wordt geruimd, forceren om altijd worden getrokken

EntityFactory.as

 statische publieke functie createBackground. (Naam: String, scène: String): IEntity {var entiteit: IEntity = allocateEntity (); entity.initialize (naam); var ruimtelijke: 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) als Box2DManagerComponent; entity.addComponent (ruimtelijke, "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") zoals IDrawable2D;

Het nieuwe BackgroundImageController controller wordt gebruikt om de achtergrondafbeelding te bewegen in reactie op de beweging van een andere entiteit, de speler in dit geval

 var bgController: BackgroundImageController = new BackgroundImageController ();. bgController.TrackObject = 

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.