Infinite Scrolling Hintergrund in XNA

Ich bin Zeichnung eine Boden-textur in ein sidescrolling platformer, wie diese:

spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, _camera.GetViewMatrix(Parallax));
foreach (Sprite sprite in Sprites)
     sprite.Draw(spriteBatch);
spriteBatch.End();

In Sprite.Draw()

        public void Draw(SpriteBatch spriteBatch)
        {
            if (Texture != null)
                spriteBatch.Draw(Texture, Position, new Rectangle(0, 0, Texture.Width, Texture.Height), Color.White, Rotation, Origin, Scale, SpriteEffects.None, ZIndex);
        }

Wie bekomme ich die textur wiederholen in X-Richtung unendlich?

Alle Ressourcen, die erklären, wie dies zu tun wäre toll. Danke!

Meine Umsetzung der Kamera ist auf dieser Basis: http://www.david-gouveia.com/2d-camera-with-parallax-scrolling-in-xna/

BEARBEITEN

Dies ist, was ich versuchte, ich machte einen separaten Auslosung für den hintergrund wie diese:

//Draw Background
spriteBatch.Begin(SpriteSortMode.Immediate, null, SamplerState.LinearWrap, null, null,null, camera.GetViewMatrix(Vector2.One));
groundSprite.Draw(spriteBatch, (int)camera.Position.X - (int)camera.Origin.X / 2);
spriteBatch.End();

und Sprite.Draw():

public void Draw(SpriteBatch spriteBatch, int scrollX = 0)
{
    if (Texture != null)
       spriteBatch.Draw(Texture, Position, new Rectangle(scrollX, 0, Texture.Width, Texture.Height), Color.White, Rotation, Origin, Scale, SpriteEffects.None, ZIndex);
}

immer noch einige Probleme haben.

Infinite Scrolling Hintergrund in XNA
Infinite Scrolling Hintergrund in XNA

Zweiter Edit

Es kam einfach zu mir. Ich hatte die Parallaxe auf 1 gesetzt auf den Boden. Es sollte 0 sein, so dass es eigentlich nie bewegt. Es sieht nur wie er sich bewegt, wenn Sie die Antwort, die ich unten ausgewählt.

Dank!

InformationsquelleAutor Jason | 2011-12-02
Schreibe einen Kommentar