Jump to content
  • Advertisement
Sign in to follow this  
minanda

Visual Studio 2010

This topic is 2476 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi everyone, first off thanks for any help you might give =)

I've just started learning to use visual studio with MS XNA Game Studio 4.0 a book by Rob Miles. Basically im not very far through, I am on the first project and I can't progress any further. clearly im doing something wrong i just cant figure out what! I've followed the book and basically the part I am at now is not working for some reason. Its a draw method to allow for a colour changing background.

This is my script


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;

namespace Moodlight1
{
/// <summary>
/// This is the main type for your game
/// </summary>
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

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

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)
{
// Allows the game to exit
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.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>
}
class Game1 {

byte redIntensity ;
byte greenIntensity ;
byte blueIntensity ;

protected override void Draw(GameTime gameTime)
{
Color backgroundColor;
backgroundColor =
new Color(redIntensity, greenIntensity, blueIntensity);
GraphicsDevice.Clear(backgroundColor);
base.Draw(gameTime);
}
}
}

If anyone can see where i'm going wrong and point it out that would be great. Probably something really simple i'm overlooking but this is the same as what is in the book so im lost. Basically it is telling me there is an error 'The namespace 'Moodlight1' already contains a definition for 'Game1'. Which im guessing is the public class nearer the top??? really new to this and havent got a clue =)

sorry if this is in the wrong section!

Share this post


Link to post
Share on other sites
Advertisement
Well you actually have 2 Game1 classes in your code, and that's impossible.

Remove the 2nd Game1 class and put the draw method in the first one. Then it will work.

Share this post


Link to post
Share on other sites

Well you actually have 2 Game1 classes in your code, and that's impossible.

Remove the 2nd Game1 class and put the draw method in the first one. Then it will work.


i see that but im going by this book and it has the 2nd one in the sample code? thanks though will try it now =)

Share this post


Link to post
Share on other sites
i removed the second one, im assuming you meant this

[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

c

[/font][color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

lass Game1 {

[/font]

[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

byte redIntensity ;

[/font]
[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

byte greenIntensity ;

[/font]
[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

byte blueIntensity

[/font]

now it tells me that a class or ..... is expected and Error 1 A namespace cannot directly contain members such as fields or methods

Share this post


Link to post
Share on other sites
That's the class I mean but I think you forgot to put the parameters in the other Game1 class.

Here is my fixed code:

[source lang='csharp']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;
namespace Moodlight1
{
/// <summary>
/// This is the main type for your game
/// </summary>
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

byte redIntensity ;
byte greenIntensity ;
byte blueIntensity ;
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
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.
protected override void Update(GameTime gameTime)
{
// Allows the game to exit
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.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.
protected override void Draw(GameTime gameTime)
{
Color backgroundColor;
backgroundColor =
new Color(redIntensity, greenIntensity, blueIntensity);
GraphicsDevice.Clear(backgroundColor);
base.Draw(gameTime);
}
}

//class Game1
//{
// removed the draw method and the parameters
// and put it in the other class

//}
} [/source]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!