*   >> lukeminen koulutus Artikkelit >> science >> programming

PushButton opetusohjelma sarja - Parallax Background

Toista DEMO

ladata lähdekoodin

TAKAISIN TUTORIAL INDEX

Parallax vieritys tarkoitetaan ilmiötä, jossa esineet etäisyys näyttävät liikkuvat hitaammin kuin etualalla. Liikkuvat tai liukuva kaukaiset kohteet hitaammin kuin lähietäisyydeltä käytetään 2D pelejä luoda illuusion syvyys. Vuonna Pushbutton tämä vaikutus on helppo väärentää vierittämällä suuri taustakuvan joidenkin osa pelaajista liikkeen.

Ensin meidän luoda kokonaisuus, joka näyttää kuvan.

Tämä noudattaa tavallista luomassa paikkatietojen ja sprite renderöinti komponentti, joka on sama prosessi olemme käyttäneet jokaista visuaalinen peli kokonaisuus. On kaksi asiaa huomauttaa tässä koodi. Ensimmäinen on se, että olemme tarkentaneet SpriteRenderComponent layerIndex arvo on 0. Kaikki muut yksiköt ovat myös määritelty SpriteRenderComponent layerIndex, mutta ne käyttävät arvon 1. Näin varmistetaan, että taustakuvan vedetään ennen muita yksikköjä, ja siksi niiden takana. Toinen on se, että meillä on ollut asettaa SimpleSpatialComponent koko arvo jotain erittäin suuri.

Tämä estää kuvan ollessa lopetettujen, pakottaa se aina vetää.

EntityFactory.as

 staattinen julkinen tehtävä createBackground (nimi: String, kohtaus: String): IEntity {var kokonaisuus: IEntity = allocateEntity (); entity.initialize (nimi); var paikkatietojen: SimpleSpatialComponent = uusi SimpleSpatialComponent (); spatial.objectMask = uusi ObjectType ("Renderable"); spatial.size = uusi Point (Number.MAX_VALUE, Number.MAX_VALUE); spatial.spatialManager = NameManager.instance.lookupComponentByName (kohtaus, SCENE_BOX2DMANAGER_COMPONENT) kuin Box2DManagerComponent; entity.

addComponent (alueellisia, "Spatial"); var Render: SpriteRenderComponent = uusi SpriteRenderComponent (); Render.positionReference = uusi PropertyReference ("@ Spatial.position"); Render.loadFromImage = "../media/background.png"; Render.layerIndex = 0; entity.addComponent (Render, "Render"); var playerRender: IDrawable2D = NameManager.instance.lookupComponentByName ("Player", "Render") kuin IDrawable2D;

Uusi BackgroundImageController ohjain käytetään siirtämään taustakuvan vastauksena liikkeen toiselta yhteisöltä, pelaaja tässä tapauksessa.


 var bgController: BackgroundImageController = uusi BackgroundImageController (); bgController.TrackObject = playerRender; bgController.BGImagePositionReference = uusi PropertyReference ("@ Spatial.position"); bgController.MovementScale = 0,3; entity.addComponent (

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.