*   >> Leitura Educação Artigos >> science >> programação

PushButton Tutorial Series - Parallax Background

jogar o demo

BAIXAR O CÓDIGO FONTE

Voltar ao Índice TUTORIAL

rolagem Parallax se refere ao fenômeno onde os objetos à distância parecerá mover mais devagar do que as do primeiro plano. Movendo ou deslizamento objetos distantes mais lentamente do que os de perto é usado em jogos 2D para criar a ilusão de profundidade. Em Botão este efeito é fácil de falsificar, deslocando-se uma imagem de fundo grande por uma fração do movimento jogadores.

Primeiro, precisamos criar uma entidade que irá exibir uma imagem.

Isto segue o processo usual de criar um componente de renderização espacial e sprite, que é o mesmo processo que usamos para cada entidade jogo visual. Há duas coisas a apontar neste código. A primeira é que temos especificado o valor SpriteRenderComponent layerIndex ser 0. Todas as outras entidades têm também especificados um SpriteRenderComponent layerIndex, mas eles usam um valor de 1. Isso garante que a imagem de fundo é desenhado antes das outras entidades, e, portanto, atrás deles. A segunda é que temos tido para definir o valor tamanho SimpleSpatialComponent para algo muito grande.

Isso interrompe a imagem de ser abatidos, forçando-a sempre ser desenhado

EntityFactory.as

 função pública createBackground estática. (Name: String, cena: String): IEntity {var entidade: IEntity allocateEntity = (); entity.initialize (nome); var espacial: SimpleSpatialComponent = new SimpleSpatialComponent (); spatial.objectMask = new ObjectType ("Renderable"); spatial.size = new Point (Number.MAX_VALUE, Number.MAX_VALUE); spatial.spatialManager = NameManager.instance.lookupComponentByName (cena, SCENE_BOX2DMANAGER_COMPONENT) como Box2DManagerComponent; entity.

addComponent (espacial, "Espacial"); var Renda: 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 ("Jogador", "render") como IDrawable2D;

O novo controlador BackgroundImageController é usado para mover a imagem de fundo em resposta ao movimento de outra entidade, o jogador neste caso

 var bgController: BackgroundImageController = new BackgroundImageController ();. bgController.TrackObject = playerRender; bgController.BGImagePositionReference = new PropertyReference ("@ Spatial.posit

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.