2010-02-16 94 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列表,迭代這個空列表並繪製其中的所有[不存在的]對象,但屏幕上沒有任何東西出現?

也許你應該試着給它畫一些東西。

編輯:看起來像我一直打到它;)