2013-03-11 42 views
0

我開始在C#中使用XNA框架進行編程。我已經創建了新的解決方案,編寫了程序並保存了它。程序在工作,沒有錯誤在那裏。在第二天我打開解決方案時,我在一個文件中出現了很多錯誤。代碼似乎確定,在這裏它與在評論中錯誤:Visual C#Express中的無意義錯誤

using System; 
using System.Collections.Generic; 
using System.Linq; 
using Microsoft.Xna.Framework; 
using Microsoft.Xna.Framework.Audio; 
using Microsoft.Xna.Framework.Content; 
using Microsoft.Xna.Framework.GamerServices; 
using Microsoft.Xna.Framework.Graphics; 
using Microsoft.Xna.Framework.Input; 
using Microsoft.Xna.Framework.Media; 
using The_Destiny_of_Azureus.Komponenty; 

namespace The_Destiny_of_Azureus 
{ 

public class Hra : Microsoft.Xna.Framework.Game 
{ 
    GraphicsDeviceManager graphics; 
    public SpriteBatch spriteBatch; 

    public int wwidth = 1366; 
    public int wheight = 768; 

    Texture2D cursor; 

    MouseState mouseState; 

    public Hra() 
    { 
     graphics = new GraphicsDeviceManager(this); 
     Content.RootDirectory = "Content"; 
    } 


    protected override void Initialize() 
    { 
     graphics.PreferredBackBufferWidth = wwidth; 
     graphics.PreferredBackBufferHeight = wheight; 
     graphics.IsFullScreen = false; 
     graphics.ApplyChanges(); 

     MMenu mmenu = new MMenu(this); 
     Components.Add(mmenu);   //1 error: } expected 


     public Button ngbutton = new Button(this, new Vector2(64, 258), "NEW GAME");  // Keyword 'this' is not available in the current context 
     Components.Add(ngbutton);  //3 errors: 
                //Invalid token '(' in class, struct, or interface member declaration, 
                //Invalid token ')' in class, struct, or interface member declaration 
                //Microsoft.XNA.Framework.Game.Components is a property but is used like a type 

     base.Initialize();      //1 error: Method must have a return type 
    } 


    protected override void LoadContent()  //1 error: Expected class, delegate, enum, interface, or struct 
    { 

     spriteBatch = new SpriteBatch(GraphicsDevice);  //1 error: Expected class, delegate, enum, interface, or struct 

     cursor = Content.Load<Texture2D>(@"Textury\cursor"); 
    } 


    protected override void UnloadContent()   //1 error: Expected class, delegate, enum, interface, or struct 
    { 

    } 


    protected override void Update(GameTime gameTime)  //1 error: Expected class, delegate, enum, interface, or struct 
    { 

     if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) 
      this.Exit(); 


     mouseState = Mouse.GetState(); 

     base.Update(gameTime); 
    } 


    protected override void Draw(GameTime gameTime)   //1 error: Expected class, delegate, enum, interface, or struct 
    { 
     GraphicsDevice.Clear(Color.CornflowerBlue); 

     spriteBatch.Begin(); 
     spriteBatch.Draw(cursor, new Vector2(mouseState.X, mouseState.Y), Color.White);  //1 chyba: Expected class, delegate, enum, interface, or struct 
     spriteBatch.End(); 

     base.Draw(gameTime); 
    }    //1 error: Type or namespace definition, or end-of-file expected 
} 
} 

錯誤:

Error } expected 44 35 
Error Invalid token '(' in class, struct, or interface member declaration 47 27 
Error Invalid token ')' in class, struct, or interface member declaration 47 36 
Error Method must have a return type 49 18 
Error Expected class, delegate, enum, interface, or struct 53 28 
Error Expected class, delegate, enum, interface, or struct 56 31 
Error Expected class, delegate, enum, interface, or struct 62 28 
Error Expected class, delegate, enum, interface, or struct 68 28 
Error Expected class, delegate, enum, interface, or struct 81 28 
Error Expected class, delegate, enum, interface, or struct 86 42 
Error Type or namespace definition, or end-of-file expected 90 9 
Error Keyword 'this' is not available in the current context 46 49 
Error 'Microsoft.Xna.Framework.Game.Components' is a 'property' but is used like a 'type' 47 13 
Error 'The_Destiny_of_Azureus.Hra.ngbutton' is a 'field' but is used like a 'type' 47 28 

我嘗試整體解決方案發送給我的朋友,他開解,他曾在這個文件中沒有錯誤。

+0

看看代碼。正如OP所述,錯誤與代碼中的註釋一樣內聯。 – spender 2013-03-11 14:28:57

+2

展開解決方案資源管理器中的引用部分。你是否缺少任何參考? – Amicable 2013-03-11 14:29:10

回答

8

您的問題就在這裏:

Components.Add(mmenu);   //1 error: } expected 


public Button ngbutton = new Button(this, new Vector2(64, 258), "NEW GAME");  // Keyword 'this' is not available in the current context 
Components.Add(ngbutton);  //3 errors: 

public關鍵字是無效的局部變量。無論是您複製並粘貼該課程的成員定義中的錯誤,還是錯誤地添加了public

錯誤鏈源於編譯器認爲您錯過了}以結束Initialize而其餘的支撐被拋棄的事實。

你的同事沒有辦法確定這個確切的代碼並且建立它。

3

錯誤是完全正確的。

有一個public局部變量沒有意義。

因此,編譯器假定您嘗試在類上創建一個字段,但忘記了}
這導致更多的錯誤,因爲它讀取您的代碼的其餘部分在不正確的假設下,你想額外}

相關問題