2013-01-22 64 views
1

我在使用Texture2D類時遇到了一些麻煩。我很確定這是一個相當簡單的問題。我得到以下錯誤:帶Texture2D的MonoGame XNA Helloworld

Error 1 Expected class, delegate, enum, interface, or struct D:\_Projects\MonoGameWindowsApplication1\MonoGameWindowsApplication1\Game1.cs 14 13 MonoGameWindowsApplication1 

我似乎沒有參考Texture2D類,但我不知道爲什麼我不知道。任何幫助都會很棒。

#region Using Statements 
using System; 
using System.Collections.Generic; 
using Microsoft.Xna.Framework; 
using Microsoft.Xna.Framework.Content; 
using Microsoft.Xna.Framework.Graphics; 
using Microsoft.Xna.Framework.Input; 
using Microsoft.Xna.Framework.Storage; 
using Microsoft.Xna.Framework.GamerServices; 
#endregion 

namespace MonoGameWindowsApplication1 
{ 
    private Texture2D background; // <---- This is where I get the above error. 

    /// <summary> 
    /// This is the main type for your game 
    /// </summary> 
    public class Game1 : Game 
    { 
     GraphicsDeviceManager graphics; 
     SpriteBatch spriteBatch; 

     public Game1() 
      : base() 
     { 
      graphics = new GraphicsDeviceManager(this); 
      Content.RootDirectory = "Content"; 


     } 

     /// <summary> 
     /// Allows the game to perform any initialization it needs to before starting to run. 
     /// This is where it can query for any required services and load any non-graphic 
     /// related content. Calling base.Initialize will enumerate through any components 
     /// and initialize them as well. 
     /// </summary> 
     protected override void Initialize() 
     { 
      // TODO: Add your initialization logic here 

      base.Initialize(); 
     } 

     /// <summary> 
     /// LoadContent will be called once per game and is the place to load 
     /// all of your content. 
     /// </summary> 
     protected override void LoadContent() 
     { 
      // Create a new SpriteBatch, which can be used to draw textures. 
      spriteBatch = new SpriteBatch(GraphicsDevice); 

      // TODO: use this.Content to load your game content here 
     } 

     /// <summary> 
     /// UnloadContent will be called once per game and is the place to unload 
     /// all content. 
     /// </summary> 
     protected override void UnloadContent() 
     { 
      // TODO: Unload any non ContentManager content here 
     } 

     /// <summary> 
     /// Allows the game to run logic such as updating the world, 
     /// checking for collisions, gathering input, and playing audio. 
     /// </summary> 
     /// <param name="gameTime">Provides a snapshot of timing values.</param> 
     protected override void Update(GameTime gameTime) 
     { 
      if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) 
       Exit(); 

      // TODO: Add your update logic here 

      base.Update(gameTime); 
     } 

     /// <summary> 
     /// This is called when the game should draw itself. 
     /// </summary> 
     /// <param name="gameTime">Provides a snapshot of timing values.</param> 
     protected override void Draw(GameTime gameTime) 
     { 
      GraphicsDevice.Clear(Color.CornflowerBlue); 

      // TODO: Add your drawing code here 

      base.Draw(gameTime); 
     } 
    } 
} 

回答

6

private Texture2D background變量移動到Game1類中。

變量必須在class,interfacestruct而不是命名空間。

public class Game1 : Game 
{ 
    private Texture2D background; //Error free 
    ... 
} 
+0

:: facepalm :: Duh,謝謝! :) – rotaercz

0

你在命名空間,它期望一個類,委託,枚舉,接口或結構。

- 編輯:上面的海報正確的大聲笑。