Я столкнулся с проблемой, из-за которой я не могу распознать ни одну из своих текстур за пределами метода loadContent.
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
Texture2D tileStart = Content.Load<Texture2D>("tile_start");
Texture2D tileCrossJunction = Content.Load<Texture2D>("tile_crossjunction");
Texture2D tileTJunction = Content.Load<Texture2D>("tile_t-junction");
Texture2D tileCorner = Content.Load<Texture2D>("tile_corner");
Texture2D tileHallway = Content.Load<Texture2D>("tile_hallway");
Texture2D tileDeadEnd = Content.Load<Texture2D>("tile_deadend");
Texture2D sqrPlayer = Content.Load<Texture2D>("sqr_player");
Texture2D sqrBaddieSmall = Content.Load<Texture2D>("sqr_baddie_small");
Texture2D sqrBaddie = Content.Load<Texture2D>("sqr_baddie");
Texture2D sqrBaddieLarge = Content.Load<Texture2D>("sqr_baddie_large");
}
В этом методе нет проблем, но когда я пытаюсь сослаться на любую из этих текстур в моем методе Draw...
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.DarkGray);
base.Draw(gameTime);
spriteBatch.Begin();
spriteBatch.Draw(tileStart, new Vector2(0,0), Color.White);
spriteBatch.End();
}
Я получаю сообщение об ошибке «tileStart не существует в текущем контексте».
Обычно я бы сказал, что он не распознается, потому что tileStart
— это переменная, объявленная в методе LoadContent
, и поэтому ее нельзя использовать где-либо еще. Причина, по которой я запутался, заключается в том, что каждый учебник, который я читал, показывает именно этот синтаксис, и он, кажется, работает нормально в этих случаях, так что здесь явно происходит что-то еще, чего я не понимаю.
Любая помощь, которую вы, ребята, можете предоставить, будет принята с благодарностью, спасибо.