1
右鍵,從一開始就開始生病所以這將是小有一點更容易閱讀通過,XNA C#內存問題
的當過我運行我的程序就說明一切,因爲它應該。我甚至可以隨身攜帶我的播放器,但10-15秒後突然死亡,說它的內存不足。我不知道這是什麼意思,因爲我以前從來沒有遇到這個問題,我已經做過ealier程序。
這裏的問題是來自於代碼(也就是我得到所示的代碼)
private void Render()
{
dc.DrawImage(Image.FromFile("Graphics/WorldAreas/Starting-room.png"), 0, 0);
foreach (GameObject go in gameWorld)
{
go.Render(dc);
}
bg.Render();
}
幾秒鐘它強調「dc.DrawImage」之後,並說OutOfMemoryException異常是未處理的。
我改寫了在此之前我看到有人問遊戲對象如此虐待添加代碼爲以及
public abstract class GameObject
{
protected PointF position; //X,Y Position in the Game World
public PointF Position
{
get { return position; }
}
protected Image sprite;
public virtual void Move(float factor)
{
}
public virtual void Render(Graphics dc)
{
dc.DrawImage(sprite, position.X, position.Y, sprite.Width, sprite.Height);
//dc.DrawRectangle(new Pen(Color.Red), CollisionRectangle);
}
}
希望這是一個更好的交代。並希望有人可以看到我不能的錯誤。
在此先感謝:)
你能後的`GameObject`類的代碼,因爲這是在異常發生的事情,並刪除您發佈的代碼的牆。 – 2011-02-02 10:02:37
我不會在每一幀中從磁盤載入`Starting-room.png`渲染開始。 – 2011-02-02 10:08:56