XNA入门教程(二) 移动控制

上一章,我们主要介绍了何谓XNA

并且做了第一个XNA HelloWorld

本文,将紧接着上文. 继续我们的XNA之旅.

上篇的最后,我们通过

MouseState ms=Mouse.GetState();//获得鼠标相关信息 

获得了鼠标的Point位置,让自己的图像显示在鼠标的位置,因此做到了自定义 光标的功能.

现在,我们对XNA的控制器作全面阐述

XNA的控制器

在XNA的控制器,主要定义在 Microsoft.Xna.Framework.Input下,

分为以下几种

Mouse 鼠标

Keyboard 键盘

GamePad 手柄

在默认模板建立的HelloWorld中,我们会发现

if (GamePad.GetState(PlayerIndex.One).Buttons.Back ==  ButtonState.Pressed)
                 this.Exit();

这其实就是判断如果按下了游戏手柄的Back按钮时,自动退出。

同样,我们可以通过以上Input的相关state来获得相关输入端的操作,如按 钮,位置等等。

一个简单的例子

现在,我们尝试在界面中绘制一个简单的 sprite(精灵),并实现鼠标和 键盘的同时控制

protected override void Update(GameTime gameTime)
         {
             KeyboardState state = Keyboard.GetState ();
             if (state.IsKeyDown(Keys.Up))
             {
                 this.Position.Y -= 10;
             }
             if (state.IsKeyDown(Keys.Down))
             {
                 this.Position.Y +=10;
             }
             if (state.IsKeyDown(Keys.Left))
             {
                 this.Position.X -= 10;
             }
             if (state.IsKeyDown(Keys.Right))
             {
                 this.Position.X += 10;
             }
             base.Update(gameTime);
         }

时间: 2024-09-22 05:34:54

XNA入门教程(二) 移动控制的相关文章

Div+CSS布局入门教程(二) -- 写入整体层结构与CSS

css|教程|入门教程 二.写入整体层结构与CSS 接下来我们在桌面新建一个文件夹,命名为"DIV+CSS布局练习",在文件夹下新建两个空的记事本文档,输入以下内容:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=

Bootstrap零基础入门教程(二)_javascript技巧

什么是 Bootstrap? Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. 历史 Bootstrap 是由 Twitter 的 Mark Otto 和 Jacob Thornton 开发的.Bootstrap 是 2011 年八月在 GitHub 上发布的开源产品. 本文重点给大家介绍Bootstrap零基础入门教程(二),具体详情如下所示: 过程中会频繁查阅资料的网站: http://www.

BootStrap入门教程(二)之固定的内置样式_javascript技巧

相关阅读: BootStrap入门教程(一)之可视化布局 HTML5文档类型(Doctype) Bootstrap使用了一些HTML5元素和CSS属性,所以需要使用HTML5文档类型. <!DOCTYPE html> <html> .... </html> 移动设备优先 <meta name="viewport" content="width=device-width, initial-scale=1.0">   宽度

if else 处理条件详细教程(javascript入门教程二)

文章提供这款if else 处理条件详细教程(网页特效入门教程二),很简单举了几个实例来说明关于js中的if else条件成立与不成立的详细教程. <script language="javascript" type="text/javascript"> <!-- var points=prompt("请输入学生成绩:",0); if(points>=90){  alert("a"); }else if

PHP入门教程之会话控制技巧(cookie与session)_php技巧

本文实例讲述了PHP会话控制技巧.分享给大家供大家参考,具体如下: Demo1.php <form method="get" action="Demo2.php"> 姓名:<input type="text" name="username" /> <br /> <input type="submit" value="提交" /> </

.NET轻量级MVC框架:Nancy入门教程(二)——Nancy和MVC的简单对比

在上一篇的.NET轻量级MVC框架:Nancy入门教程(一)--初识Nancy中,简单介绍了Nancy,并写了一个Hello,world.看到大家的评论,都在问Nancy的优势在哪里?和微软的MVC比有什么不同,哪个更好?Nancy是否可以脱离IIS等等,那么今天就拿MVC和Nancy做个简单的对比吧!首先说一点,我对MVC研究并不深入,如有没说到或说错的地方,还请大家补充和纠正. 下面纠正一个问题,Nancy官网并没有明确的说Nancy是一个MVC框架,官方的定义是:Nancy是一个用于构建基

零基础易语言入门教程(二)之编程思路_易语言

易语言简介: 易语言是一门以中文作为程序代码编程语言.以"易"著称.创始人为吴涛.早期版本的名字为E语言.易语言最早的版本的发布可追溯至2000年9月11日.创造易语言的初衷是进行用中文来编写程序的实践.从2000年至今,易语言已经发展到一定的规模,功能上.用户数量上都十分可观. 上一篇跟大家讲了零基础易语言入门教程(一)编写第一个程序,然后接下来大家应该自己把支持库和易语言组件里面的控件全部认真的看一下,下面我直接跟大家分享下易语言简单编程思路. 方法和步骤如下所示: 1.易语言程序

XNA入门教程(三) 简单的动画

继续我们的XNA之旅... 上周,我们简单的介绍了XNA的相关控制器,并且实现了鼠标和键盘对屏幕内的 某个Sprite(精灵)进行简单的位置控制. 但是,美中不足的,我们并没有实现Sprite人物的移动动作,即Animation. 现在,我们继续上周所讲的, 实现简单的动画. 关于Animation 对动画有所了解的朋友对于逐帧动画一定不会陌生.其以最简单的形式,将各 动画元件相邻单位时间的动作位置记录在每个帧里.这样,当我们 一帧帧播放时,由于视觉暂留现象,我们便能看到相对"运动"的

XNA入门教程(一)

写在前面: 前阵子看到cnblogs上的牛人用silverlight/WPF写游戏,不由心血来潮也尝 试写个. 众所周知,虽说从silverlight2开始ms就提供了Isolated Storage的支持, 但是,对于游戏这种大玩意儿,1M空间明显是不够的.于是乎,在silverlight 中做游戏,别的不说,其资源的调度就严重依赖于服务器及网络了. 其次,WPF,由于其渲染本身基于directX,比起win32年代的winform更适合 做form内的变换和刷新,但终究不非游戏框架,其本质是