*   >> Lectura Educación Artículos >> science >> programación

PushButton Serie Tutorial - Parallax Background

JUGAR LA DEMO

DESCARGAR EL CÓDIGO FUENTE

VOLVER A EL INDICE TUTORIAL

desplazamiento Parallax se refiere al fenómeno por el cual los objetos en la distancia parecen moverse más lentamente que los que están en el primer plano. Mover o deslizar los objetos distantes más lentamente que los de cerca se utiliza en los juegos en 2D para crear la ilusión de profundidad. En Pulsador este efecto es fácil de falsificar por una imagen de fondo de gran desplazamiento por una fracción del movimiento jugadores

.

En primer lugar tenemos que crear una entidad que permite visualizar una imagen. Esto sigue el proceso habitual de la creación de un componente de representación espacial y sprite, que es el mismo proceso que hemos utilizado para cada entidad juego visual. Hay dos cosas que señalar en este código. La primera es que hemos especificado el valor SpriteRenderComponent layerIndex ser 0. Todas las otras entidades también han especificado una SpriteRenderComponent layerIndex, pero utilizan un valor de 1.

Esto asegura que la imagen de fondo se dibuja ante las otras entidades, y por lo tanto detrás de ellos. El segundo es que hemos tenido que ajustar el valor del tamaño SimpleSpatialComponent a algo muy grande. Esto evita que la imagen sea sacrificado, lo que obligó a estar siempre dibujado

EntityFactory.as

 estática función pública createBackground. (Name: String, escena: String): IEntity {var entidad: IEntity allocateEntity = (); entity.initialize (nombre); var espacial: SimpleSpatialComponent = new SimpleSpatialComponent (); spatial.

objectMask = new ObjectType ("renderizable"); spatial.size = new Point (Number.MAX_VALUE, Number.MAX_VALUE); spatial.spatialManager = NameManager.instance.lookupComponentByName (escena, SCENE_BOX2DMANAGER_COMPONENT) como Box2DManagerComponent; entity.addComponent (espacial, "espacial"); var Render: SpriteRenderComponent = new SpriteRenderComponent (); Render.positionReference = new PropertyReference ("@ Spatial.position"); Render.loadFromImage = "../media/background.png"; Render.layerIndex = 0; entity.addComponent (Render, "Render"); playerRender var: IDrawable2D = NameManager.instance.

lookupComponentByName ("Jugador", "Render") como IDrawable2D;

El nuevo controlador BackgroundImageController se utiliza para mover la imagen de fondo en respuesta al movimiento de otra entidad, el jugador en este caso

 var bgController: BackgroundImageController = new BackgroundImageCon

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.