开发者

Help rendering sprite

What i want the program to do is draw the graphic ground at each point in which a one appears in the .txt file, but everytime i run it, it doesnt draw the sprite?

here is th开发者_JAVA技巧e code.....

        using (StreamReader sr = new StreamReader("trainingLevel.txt"))
        {
            while (!sr.EndOfStream)
            {
                string line = sr.ReadLine();
                string[] elements = line.Split(',');
                foreach (string e in elements)
                {
                    int id = int.Parse(e);
                    if (id == 1)
                    {
                        CreatePlatform(x, y);
                    }
                    x += widthPlatform;

                }
                y += heightPlatform;
                x = 0;
            }
        }


    public void CreatePlatform(int x, int y)
    {

        groundSprite = new Sprite();
        groundSprite.Position = new Vector2(x, y);
        groundSprite.Load("Ground", Content, simulator);
        groundSprite.IsStatic = true;
        groundSprite.Geom.OnCollision += OnCollision;


    }



protected override void Draw(GameTime gameTime) {
    GraphicsDevice.Clear(Color.CornflowerBlue);

    spriteBatch.Begin();
    List<Sprite> updateDraw = new List<Sprite>();
    foreach (Sprite z in updateDraw) {
        simulator.Update(gameTime.ElapsedGameTime.Milliseconds * .001f);
        z.Update(gameTime);
        spriteBatch.Draw(z.CurrentTexture, z.Position, null, Color.White, z.Rotation, z.Origin, 1, SpriteEffects.None, 1);
    }

    spriteBatch.End();

    base.Update(gameTime);
    base.Draw(gameTime);
}


Here's the problem:

List<Sprite> updateDraw = new List<Sprite>();

updateDraw will, of course, contain zero elements at this point.

foreach (Sprite z in updateDraw)

Will then do absolutely nothing at all.

I am entirely unsure what you're actually trying to do there, though, so it's really up to you to figure that out and then fix it.


Your foreach loop is enumerating an empty list - you probably want to make updateDraw a member of the class and add/remove items from it as the scene progresses rather than re-creating it each time it is drawn.


So, you're creating a new, empty List of Sprites, iterating through this empty list and drawing all of the [nonexistent] objects in it, and yet nothing appears on the screen?

Perhaps you should try giving it something to draw.

EDIT: Looks like I've been beaten to it ;)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜