2010-02-16 100 views
0

我想要程序要做的是在每个出现在.txt文件中的点绘制图形地面,但是每次运行它时,它都不绘制精灵?帮助渲染精灵

这里是代码.....

 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); 
} 
+1

矢车菊蓝?好恶。 – 2010-02-16 00:16:54

+1

您可能想要应用更多标记或至少指示您正在使用的图形系统。我不承认任何这些对象名称。 GAPI?的DirectX? – Josh 2010-02-16 00:17:33

+0

@Josh Einstein:我确实;)这是.NET的XNA。如果Sprite的声明也包含在内,这将有所帮助。 – Skurmedel 2010-02-16 00:18:32

回答

4

这里的问题:

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

updateDraw意志,当然,该点处包含零个元素。

foreach (Sprite z in updateDraw) 

然后会做什么都没有。

虽然我完全不确定你真的想要做什么,所以它真的取决于你自己,然后解决它。

+0

它假设要做的是有一个文本文件1和0,对于每一个程序必须呈现一个图形那里 – 2010-02-16 00:22:58

+1

然后,也许一个好的第一步是实际阅读文本文件? – 2010-02-16 00:23:52

+0

我有一个txt文件的代码,如果你想看看它,了解它更多? – 2010-02-16 00:27:35

1

您的foreach循环列举了一个空列表 - 您可能想让updateDraw成为该类的成员,并随着场景的进展添加/删除项目,而不是在每次绘制时重新创建项目。

1

所以,你正在创建一个新的,空的Sprites列表,迭代这个空列表并绘制其中的所有[不存在的]对象,但屏幕上没有任何东西出现?

也许你应该试着给它画一些东西。

编辑:看起来像我一直打到它;)