Where can i read more about moving object with mouse. I need simple code for mouse click, and object will move there; for:
protected override void Update(GameTime gameTime)
{ }
Thnx
XNA Game Studio Express
Where can i read more about moving object with mouse. I need simple code for mouse click, and object will move there; for:
protected override void Update(GameTime gameTime)
{ }
Thnx
Well you didn't state whether you are working in 2D or 3D, but the following thread discusses a technique for 3D:
http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=1220758&SiteID=1
Just poll the mouse state and position your graphic to the current mouse position when the mouse button is pressed:
http://msdn2.microsoft.com/en-us/library/bb197572.aspx
Gonzales234 wrote:
Where can i read more about moving object with mouse. I need simple code for mouse click, and object will move there; for:
protected override void Update(GameTime gameTime)
{ }
Thnx
#region
Using Statementsusing
System;using
System.Collections.Generic;using
Microsoft.Xna.Framework;using
Microsoft.Xna.Framework.Audio;using
Microsoft.Xna.Framework.Content;using
Microsoft.Xna.Framework.Graphics;using
Microsoft.Xna.Framework.Input;using
Microsoft.Xna.Framework.Storage;#endregion
namespace
ClickMove{
/// <summary> /// This is the main type for your game /// </summary> public class Game1 : Microsoft.Xna.Framework.Game{
GraphicsDeviceManager graphics; ContentManager content; Texture2D defaultTexture; SpriteBatch defaultSpriteBatch; Vector2 position; Vector2 clickLoc; int speed = 10; //to track click MouseState lastMouseState; public Game1(){
graphics =
new GraphicsDeviceManager(this);IsMouseVisible =
true;content =
new ContentManager(Services);}
/// <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 hereposition =
Vector2.Zero;clickLoc =
Vector2.Zero;lastMouseState =
Mouse.GetState(); base.Initialize();}
/// <summary> /// Load your graphics content. If loadAllContent is true, you should /// load content from both ResourceManagementMode pools. Otherwise, just /// load ResourceManagementMode.Manual content. /// </summary> /// <param name="loadAllContent">Which type of content to load.</param> protected override void LoadGraphicsContent(bool loadAllContent)
{
if (loadAllContent){
// TODO: Load any ResourceManagementMode.Automatic contentdefaultTexture = content.Load<
Texture2D>("happy");}
// TODO: Load any ResourceManagementMode.Manual contentdefaultSpriteBatch =
new SpriteBatch(graphics.GraphicsDevice);}
/// <summary> /// Unload your graphics content. If unloadAllContent is true, you should /// unload content from both ResourceManagementMode pools. Otherwise, just /// unload ResourceManagementMode.Manual content. Manual content will get /// Disposed by the GraphicsDevice during a Reset. /// </summary> /// <param name="unloadAllContent">Which type of content to unload.</param> protected override void UnloadGraphicsContent(bool unloadAllContent)
{
if (unloadAllContent == true){
content.Unload();
}
}
/// <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)
{
MouseState currentMouseState = Mouse.GetState(); // Allows the default game to exit on Xbox 360 and Windows if (Keyboard.GetState().IsKeyDown(Keys.Escape)) this.Exit(); //Mouse clic if (lastMouseState.LeftButton == ButtonState.Pressed && currentMouseState.LeftButton == ButtonState.Released){
clickLoc =
new Vector2(currentMouseState.X, currentMouseState.Y);}
//Find de pointion direction Vector2 direction = clickLoc - position; //need to do better math to avoid position flicker if(direction.LengthSquared() > 4){
if (direction != Vector2.Zero)direction.Normalize();
//Set to a length of 1
position += direction * speed;
}
lastMouseState =
Mouse.GetState(); 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)
{
graphics.GraphicsDevice.Clear(
Color.CornflowerBlue);defaultSpriteBatch.Begin();
defaultSpriteBatch.Draw(defaultTexture, position,
Color.White);defaultSpriteBatch.End();
base.Draw(gameTime);}
}
}