*   >> Lecture Éducation Articles >> science >> la programmation

PushButton Tutorial Series - Parallax Background

jouer à la démo

télécharger le code SOURCE

Retour à la index du tutoriel

défilement parallaxe désigne le phénomène où des objets à distance semblera se déplacer plus lentement que ceux dans le premier plan. Déménagement ou en glissant les objets éloignés plus lentement que ceux de près est utilisé dans les jeux 2D pour créer l'illusion de profondeur. Dans poussoir cet effet est facile à simuler en faisant défiler une grande image de fond par une fraction du mouvement des joueurs.

D'abord, nous devons créer une entité qui affiche une image.

Cela suit le processus habituel de création d'un composant de rendu spatial et Sprite, qui est le même processus que nous avons utilisé pour chaque entité de jeu visuel. Il ya deux choses à signaler dans ce code. La première est que nous avons spécifié la valeur SpriteRenderComponent layerIndex à 0. Tous les autres entités ont également spécifié un SpriteRenderComponent layerIndex, mais ils utilisent une valeur de 1. Cela garantit que l'image de fond est tiré avant les autres entités et, par conséquent derrière eux.

La seconde est que nous avons eu pour régler la valeur de la taille SimpleSpatialComponent à quelque chose de très grand. Cela empêche l'image d'être abattus, le forçant à toujours tirer

EntityFactory.as

 statique fonction publique createBackground. (Name: String, scene: String): IEntity {var entité: IEntity allocateEntity = (); entity.initialize (nom); var spatiale: SimpleSpatialComponent = new SimpleSpatialComponent (); spatial.objectMask = new ObjectType ("Renderable"); spatial.size = new Point (Number.MAX_VALUE, Number.MAX_VALUE); spatial.spatialManager = NameManager.

instance.lookupComponentByName (scène, SCENE_BOX2DMANAGER_COMPONENT) que Box2DManagerComponent; entity.addComponent (spatiale, "spatiale"); 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") comme IDrawable2D;

Le nouveau contrôleur de BackgroundImageController est utilisé pour déplacer l'image de fond en réponse au mouvement d'une autre entité, le joueur dans ce cas

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

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.