• Hier ist mein Code:

    Ich habe online nachgeschlagen, kann ihn aber immer noch nicht reparieren.

    Bitte zeigen Sie mir eine feste Version des Codes, vielen Dank! Ich habe seit einer halben Stunde auf den Bildschirm gestarrt und kann das immer noch nicht verstehen!

     public class Game1 : Microsoft.Xna.Framework.Game
    {
    
        GraphicsDeviceManager graphics;
        SpriteBatch spriteBatch;
        Texture2D car1Texture;
        Vector2 car1Position = new Vector2(200f, 100f);    
        Texture2D background;        
        Rectangle mainFrame;
    
    
    
        public Game1()
        {
            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
            //Change the resolution to 800x600            
            graphics.PreferredBackBufferWidth = 1000;
            graphics.PreferredBackBufferHeight = 800;
            graphics.ApplyChanges();
            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);
            // Load the background content.
            background = Content.Load<Texture2D>("roadscan");
            // Set the rectangle parameters
            mainFrame = new Rectangle(0, 0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
    
            spriteBatch = new SpriteBatch(GraphicsDevice);
            car1Texture = Content.Load<Texture2D>("car1");
        }
    
            // 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)
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();
    
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();
    
            KeyboardState keyboard = Keyboard.GetState();
            GamePadState gamePad = GamePad.GetState(PlayerIndex.One);
    
            if (keyboard.IsKeyDown(Keys.Left) || gamePad.DPad.Left == ButtonState.Pressed)
            {
                ballPosition.X -= 3f;
            }
    
            if (keyboard.IsKeyDown(Keys.Right) || gamePad.DPad.Right == ButtonState.Pressed)
            {
                ballPosition.X += 3f;
            }
    
            if (keyboard.IsKeyDown(Keys.Up) || gamePad.DPad.Right == ButtonState.Pressed)
            { 
            ballPosition.Y += 3f;
            }
    
            if (keyboard.IsKeyDown(Keys.Down) || gamePad.DPad.Right == ButtonState.Pressed)
            {
            ballPosition.Y -= 3f;
            }
    
            // 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);
            // Draw the background.
    
    
            // Start building the sprite.
            spriteBatch.Begin();
            // Draw the background.
            spriteBatch.Draw(background, mainFrame, Color.White);
            // End building the sprite.
            spriteBatch.End();
    
    
            // TODO: Add your drawing code here
    
            base.Draw(gameTime);
        }
    }
     
    22 November 2011
    Brunaldo
2 answers
  • Entfernen Sie die zusätzliche Klammer über der Methode UnloadContent

    Gleich hier:

          // TODO: use this.Content to load your game content here
    }<-------Delete this guy!!!
    
        /// <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
        }
     
    22 November 2011
    Justin Self
  • Sie haben eine bis viele schließende geschweifte Klammern.

       protected override void LoadContent()
      {
        // snip
      }  //close method
    
        // TODO: use this.Content to load your game content here
    }  //close class
     

    Sie schließen versehentlich Wenn Sie die geschweifte Klammer entfernen, wird das Problem behoben. Dies ist häufig der Fall, wenn Sie die Standard-Kommentarblöcke nicht verkleinert oder entfernt haben, da sie dazu neigen, sich im Weg zu befinden, nachdem Sie gelernt haben, was alle grundlegenden Methoden tun.

    14 June 2013
    Pharap