2011-11-10 60 views
0

抱歉發送垃圾郵件的問題,但有沒有從窗口(不是項目窗口)在XNA中加載像素的快速方法?我需要加載100像素寬度100像素高度,沒有太多滯後。 (也許每10秒更新一次)。C#XNA快速像素加載

public void UpdateMap() 
    { 
     for (int y = 100; y < 120; y++) 
     { 
      for (int x = 1500; x < 1510; x++) 
      { 
       uint pixel = GetPixel(hdc, x, y); 
       colorlist.Add(new Color((int)(pixel & 0x000000FF), 
        (int)(pixel & 0x0000FF00) >> 8, 
        (int)(pixel & 0x00FF0000) >> 16)); 
      } 
     } 
    } 

回答

1

我不知道我理解你的問題。從方法名稱,我收集到你想創建一個迷你地圖的種類?或者是一個畫中畫的東西?

如果是這樣,這應該是你應該讓GPU處理的東西。你應該看看RenderTargets:

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.rendertarget%28v=xnagamestudio.31%29.aspx

有了它們,你可以使事情到紋理,然後可以在屏幕上顯示。這幾乎肯定是最快和最正確的方式。

也許你可以用你想要完成的事情來更新你的問題,這樣我可以給你一個更準確的答案?