がりらぼ

WindowsRuntimeの応援ブログ

MonoGameWindowsRuntimeゲームプログラミング入門vol8:マウス入力を検知する

マウス入力

Windowsストアアプリにおいては、タッチパネルでないノートパソコンやデスクトップでも遊べるように、マウス入力にも対応する必要があります。

WindowsPhoneはマウスがないので対応する必要はありません。

 

Mouse

マウス入力を検知するには、MouseクラスのGetStateメソッドを呼びます。

取得されたMouseStateクラスにはさまざまなマウスの状態が入っています。

 

Mouseクラスを利用するには以下の名前空間を定義します。

using Microsoft.Xna.Framework.Input;

 

そして、MouseクラスのGetStateメソッドによってマウスの状態を検知します。

MouseState mState = Mouse.GetState();
int mouseX = mState.X;
int mouseY = mState.Y;
ButtonState bLeftState = mState.LeftButton;
if (bLeftState == ButtonState.Pressed)
{
    //マウスボタンが押されたときの処理
}

 

サンプル

public class Game1 : Game
{
    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;

    SpriteFont font;
    string text;

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

    }


    protected override void Initialize()
    {
        text = "no state";
        base.Initialize();
    }


    protected override void LoadContent()
    {
        spriteBatch = new SpriteBatch(GraphicsDevice);
        font = Content.Load<SpriteFont>("TestFont");
  
    }

    protected override void UnloadContent()
    {
        
        
    }


    protected override void Update(GameTime gameTime)
    {
        MouseState mState = Mouse.GetState();
        int mouseX = mState.X;
        int mouseY = mState.Y;
        ButtonState bLeftState = mState.LeftButton;
        if (bLeftState == ButtonState.Pressed)
        {
            //マウスボタンが押されたときの処理
        }

        text = string.Format("state={0} x={1} y={2} middle wheel={3}",bLeftState,mState.X,mState.Y,mState.ScrollWheelValue);
        
        base.Update(gameTime);
    }


    protected override void Draw(GameTime gameTime)
    {
        GraphicsDevice.Clear(Color.CornflowerBlue);

        spriteBatch.Begin();

        spriteBatch.DrawString(font,text,new Vector2(10,10),Color.White);

        spriteBatch.End();

        base.Draw(gameTime);
    }
}

 

マウスの状態を検知することができました。

93

 

 

サンプルコード

SampleGameMono_6_InputMouse.zip

 

マウス入力を検知する | garicchi.com

目次