Dziwny błąd [XNA]

0

Witam, mam taki błąd "Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu." dotyczy on

Size = new Rectangle(0, 0, (int)(mSpriteTexture.Width * Scale), (int)(mSpriteTexture.Height * Scale));

W ogóle nie rozumiem o co chodzi odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu O.o jakiś język chyba z translatora. A dokładniej rzecz ujmując jes to w tej klasie dotyczy to jakiegoś obiektu tej klasy, cała klasa przedstawiona poniżej.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;

namespace GRA
{
    class Sprite
    {
        //Obecna pozycja Sprite
        public Vector2 Position = new Vector2(0, 0);

        //Obiekt pobierany kiedy jest rysowany Sprite
        public Texture2D mSpriteTexture;

        //Rozmiar Sprite
        public Rectangle Size;

        public string AssetName;

        //Skala Sprite
        private float mScale = 1.0f;

        public float Scale
        {
            get { return mScale; }
            set
            {
                mScale = value;
                             
                Size = new Rectangle(0, 0, (int)(mSpriteTexture.Width * Scale), (int)(mSpriteTexture.Height * Scale));
            }
        }

        public void LoadContent(ContentManager theContentManager, string theAssetName)
        {
            mSpriteTexture = theContentManager.Load<Texture2D>(theAssetName);
            AssetName = theAssetName;
            Size = new Rectangle(0, 0, (int)(mSpriteTexture.Width * Scale), (int)(mSpriteTexture.Height * Scale));
        }

        public void Draw(SpriteBatch theSpriteBatch)
        {
            theSpriteBatch.Draw(mSpriteTexture, Position, 
                new Rectangle(0, 0, mSpriteTexture.Width, mSpriteTexture.Height), 
                Color.White, 0.0f, Vector2.Zero, Scale, SpriteEffects.None, 0);
        }

        public void Update(GameTime theGameTime, Vector2 theSpeed, Vector2 theDirection)
        {
            Position += theDirection * theSpeed * (float)theGameTime.ElapsedGameTime.TotalSeconds;
        }
    }
}
0

Tłumaczenie całkiem sensowne, chociaż i tak wolę angielską wersję.

Na 90% (ok, na 100) chodzi o to że mSpriteTexture == null w momencie wykonania instrukcji.
Sprawdź w debuggerze,

1 użytkowników online, w tym zalogowanych: 0, gości: 1