zoukankan      html  css  js  c++  java
  • XNA实践鼠标篇根据点击坐标移动图片(四)

    看过了《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运行一下看看,在游戏的界面点一下鼠标的左键,这个时候,游戏界面的图片是不是移动到鼠标点击的位置了呢...

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

    这个问题将会在下一篇公布代码。

  • 相关阅读:
    hdu5833----高斯消元
    高斯消元模板
    hdu4462--曼哈顿距离
    卡特兰数应用
    poj3070矩阵快速幂求斐波那契数列
    poj1042
    poj1328
    mvc 请求处理管道
    sql update 代替游标写法
    sql 表字段模糊连接
  • 原文地址:https://www.cnblogs.com/magic_evan/p/1862029.html
Copyright © 2011-2022 走看看