您的位置:首页 > 其它

XNA实践鼠标篇--根据点击坐标移动图片(四)

2010-10-27 00:23 417 查看
看过了《XNA实践键盘篇--根据方向键移动图片(三)》后,是不是有点意犹未尽的感觉啊,那下我们来感受下XNA是怎么处理鼠标事件的啦,以前的试验就保存好吧,我们来新建一个项目“MySecondGame”,这次就不给所有的代码了,看过以前的文章就清楚了。

定义类内的“全局变量”:

/// <summary>
/// 图片的位置
/// </summary>
private Vector2 picPosition;
/// <summary>
/// 定义2D的纹理图片
/// </summary>
private Texture2D texture;

我们在构造函数里实例化一下2维的向量变量:

picPosition = new Vector2();

在update(GameTime gameTime)的时候需要用到,我以前也说过,这个函数是个很重要的函数来的。

在加载游戏内容的的函数LoadContent()里实例化一下:

texture = Texture2D.FromFile(graphics.GraphicsDevice, "test.jpg");//我们还是将之前的图片拷贝到当前的DEBUG文件里

下面开始进入Update(GameTime gameTime)来捕获鼠标事件

MouseState mouseState = Mouse.GetState();//获取鼠标点击的状态
if (mouseState.LeftButton == ButtonState.Pressed)//获取鼠标按是否按下了左键
{

      //定位图片到鼠标当前点击的位置
picPosition.X = mouseState.X;
picPosition.Y = mouseState.Y;
}

就这么几行代码就完成了通过鼠标定位图片是不是很惊呀啊,MS就是这样的傻瓜式编程了。

我们再到Draw(GameTime gameTime)函数里将加载到2D纹理对象的图片画到游戏的界面上来

spriteBatch.Begin();
spriteBatch.Draw(texture, picPosition, Color.White);
spriteBatch.End();

OK了,按一下F5运行一下看看,在游戏的界面点一下鼠标的左键,这个时候,游戏界面的图片是不是移动到鼠标点击的位置了呢...

但是,这个效果不怎么美观啊,都看不到图片移动的过程的,回顾上一篇的文章,我们说到的用键盘控制图片移动,那么,要实现图片慢慢移动鼠标点击的位置就不难实现了。

这个问题将会在下一篇公布代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: