私はF#を学んでおり、F#(純粋な熱意)を使って簡単なXNAゲームをWindowsに作ろうと決心し、いくつかの画像が表示されたウィンドウを得ました。XNA 4.0 - ウィンドウが最小化されるとどうなりますか?
ここでは、コードです:
(*Methods*)
member self.DrawSprites() =
_spriteBatch.Begin()
for i = 0 to _list.Length-1 do
let spentity = _list.List.ElementAt(i)
_spriteBatch.Draw(spentity.ImageTexture,new Rectangle(100,100,(int)spentity.Width,(int)spentity.Height),Color.White)
_spriteBatch.End()
(*Overriding*)
override self.Initialize() =
ChangeGraphicsProfile()
_graphicsDevice <- _graphics.GraphicsDevice
_list.AddSprite(0,"NagatoYuki",992.0,990.0)
base.Initialize()
override self.LoadContent() =
_spriteBatch <- new SpriteBatch(_graphicsDevice)
base.LoadContent()
override self.Draw(gameTime : GameTime) =
base.Draw(gameTime)
_graphics.GraphicsDevice.Clear(Color.CornflowerBlue)
self.DrawSprites()
そしてAddSprite方法:
type SpriteList(_content : ContentManager byref) =
let mutable content = _content
let mutable list = []
:
member self.AddSprite(ID : int,imageTexture : string , width : float, height : float) =
let texture = content.Load<Texture2D>(imageTexture)
list <- list @ [new SpriteEntity(ID,list.Length, texture,Vector2.Zero,width,height)]
_listオブジェクトがContentManagerがあり、ここでコンストラクタだが
しかし、それはその焦点を取り戻したとき、私はこのエラーを取得するので、私は、ウィンドウを最小化することはできません。
説明ObjectDisposedException
Cannot access a disposed object.
Object name: 'GraphicsDevice'.
を何が起こっていますか?
XNAは、ウィンドウを最小化すると自動的にGraphicsDeviceを削除するようです。私はそれをリロードしたにもかかわらず、同じエラーが発生しましたが、オブジェクト名は「Texture2D」です。私はテクスチャをリロードしようとしましたが、それはどちらもうまくいきません。私はこの1つで失われています –