手机游戏中处理用户输入的方法

简介:
不管在手机游戏的故事情节和图形处理方面投入多少精力和时间,如果你没法让用户很好地玩游戏,这些也白搭。让玩家很好地玩游戏,这个概念包括为用户提供一个反应灵敏、构思成熟的控制系统,以便让他们能够很好地玩游戏。J2ME在处按键输入的传统方法在一般的MIDlet中工作的很好,但是对于游戏来说,其响应灵敏度就不够了。因此,GameCanvas类在getKeyState()方法中提供了一种更为高效的替代方法。

getKeyState ()方法用来在任何时候对手机按键的状态形成快照。这个方法并不会报告手机的所有按键,而只会报告那些可能应用到游戏中的按键。可以使用getKeyState()方法通过下面的按键常量来决定单个游戏按键的状态。

·UP_PRESSED——Up按键;

·DOWN_PRESSED——Down按键;              

·LEFT_PRESSED——Left按键;

·RIGHT_PRESSED——Right按键;

·FIRE_PRESSED——Fire按键;

·GAME_A_PRESSED——可选按A按键;

·GAME_B_PRESSED——可选按B按键;

·GAME_C_PRESSED——可选按C按键;

·GMAE_D_PRESSED——可选按D按键。

A BC,和D键都是可选的按键,在手机上可能有也可能没有,因此,不应该依赖这些按键来实现重要的游戏控制功能,主要还是使用上述4个按键。

getKeyPressed() 方法返回可以用来检测哪个按键被按下的一个整数值(如果哪个按键被按下的话)。为了检查一个具体的按键被按下,只要调用getKeyStates()方法并用一个预定的常量来匹配返回值:

int KeyState=getKeyPressed(); 
if((keyState & LEFT)!=0){ 
    
//向左移动;}else if((keyState & RIGHT)!=0){ 

//向右移动;} else if((keyState & UP)!=0){ 

//向上移动;} else if((keyState & DOWN)!=0){ 

//向下移动;} else if((keyState & FIRE)!=0){ 

//开火;} 
这段代码在游戏循环(或动画循环)中,以便使按键状态在一个固定的时间间隔内都会被检测。如果一个按键从getKeyStates()上一次被调用的时候就被按下并释放,按键还是会报告为按下状态。这就保证了快速的按键动作不会被丢弃,即便是游戏循环运行的太慢而捕捉不到按键的实时状态。另外,getKeyState()方法并不会返回有实际意义的休息,除非游戏画布当前是可见的。如果游戏有多个屏幕,除非游戏画布被选择为当前屏幕,否则它是不会变为活动的。



     本文转自 gaochaojs 51CTO博客,原文链接:http://blog.51cto.com/jncumter/198980,如需转载请自行联系原作者


相关文章
|
5月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
移动开发 前端开发 JavaScript
【值得收藏】HTML5使用多种方法实现移动页面自适应手机屏幕的方法总结
随机智能手机,平板等智能移动设备的普及。移动端是我们目前接触最多的页面展示终端,不管是对于开发者还是其他普通的使用者都是普遍的存在,而且移动终端的使用比电脑更广泛,更频繁,特别是当微信平台等变成我们日常使用工具之后。所以对于开发者来说,不管任何开发任何界面都需要着重考虑页面对移动设备的兼容以及自适应。才能让用户体验性更好。
1716 0
|
安全 数据安全/隐私保护
阿里云账号开启手机号登录方法
阿里云账号开启手机号验证码登录方法
2289 0
阿里云账号开启手机号登录方法
|
5月前
|
存储 JSON 小程序
html在线预览CAD(手机小程序浏览DWG)二次开发图层表的方法
本文档介绍了DWG数据库中图层的存储结构及MxCAD库对图层的操作。图层信息存储于图层层表McDbLayerTable()中,每个记录对应一个图层,包含颜色、线型等属性,且有一个不可删除的默认"0"层。主要操作包括:通过MxCpp.getCurrentMxCAD()获取图层表,使用addLayer()添加图层,遍历图层,以及删除图层。此外,还展示了如何修改图层的关闭、冻结、锁定状态及颜色。提供了在线示例以演示这些功能。
html在线预览CAD(手机小程序浏览DWG)二次开发图层表的方法
|
3月前
|
Web App开发
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
|
5月前
|
Android开发
【通讯录教程】苹果安卓鸿蒙系统通用,如何大批量导入手机号码到手机的通讯录,下面教你方法,只需1分钟搞定几万个号码的导入手机电话本
该文介绍了一种快速批量导入手机通讯录的方法,适用于处理大量手机号的需求,如微商管理、客户资料整理等。在QQ同步助手开始收费后,提供了免费的替代方案。步骤包括:下载批量导入软件(链接提供腾讯云盘和百度网盘地址),清空通讯录(非必需),制作符合格式的通讯录文件,并按操作系统(苹果、安卓或鸿蒙)进行导入。整个过程只需1分钟,简便快捷。
|
5月前
|
UED
禁止手机侧滑返回上一个页面的三种方法
禁止手机侧滑返回上一个页面的三种方法
222 0
|
12月前
|
网络安全 开发工具 数据安全/隐私保护
如何把ipa文件(iOS安装包)安装到iPhone手机上? 附方法汇总
如何把ipa文件(iOS安装包)安装到iPhone手机上? 附方法汇总
|
5月前
|
网络安全 开发工具 数据安全/隐私保护
如何把 ipa 文件 (iOS 安装包) 安装到 iPhone 手机上? 附方法汇总
如何把 ipa 文件 (iOS 安装包) 安装到 iPhone 手机上? 附方法汇总
|
5月前
利用电脑投放手机声音且可不冲突同时播放电脑声音的方法
利用电脑投放手机声音且可不冲突同时播放电脑声音的方法
114 1

热门文章

最新文章

下一篇
无影云桌面