`

使用J2ME技术开发RPG游戏(二)——按键处理机制

阅读更多

使用J2ME技术开发RPG游戏()——按键处理机制

作者:陈跃峰

出自:http://blog.csdn.net/mailbomb

在游戏中,按键处理机制也需要小心的实现,这里就介绍一种实用的按键处理机制。

在实际的游戏中,一般为了按键灵敏,我们一般不会直接在keyPressedkeyReleased方法内部书写逻辑的代码,而只是在这些方法内部记录或清除按键的记录,而把实际的处理放在线程中进行。这个是本机制中采用的方式。

而且不同手机的按键键值存在不同,为了方便移植,我们把按键转换成自己定义的数值,然后在程序中使用自定义的值进行处理。

该机制中最核心的变量为;

private int keyStates;

用该变量中的一个二进制位来代表一种按键是否按下,如果按下为1,否则为0。每个按键自己进行了定义,定义的代码如下:

/**向上*/

private final int KEY_UP = 1;

/**向下*/

private final int KEY_DOWN = 1 << 1;

/**向右*/

private final int KEY_RIGHT = 1 << 2;

/**向左*/

private final int KEY_LEFT = 1 << 3;

/**5*/

private final int KEY_FIRE = 1 << 4;

/**左软键*/

private final int KEY_LEFT_SOFT = 1 << 5;

/**右软键*/

private final int UP = 1 << 6;

/**特殊用途按键,例如0*/

private final int KEY_ZERO = 1 << 7;

转换按键键值的方法根据手机型号不同,也存在很多的不同,下面是WTK模拟器的实现代码:

/**

* 将物理键值转换为自定义键值

* 说明:该方法和机型相关,下面是WTK的实现

* @param keyCode 物理键值

* @return 自定义键值

*/

private int convertKey(int keyCode) {

switch (keyCode) {

case -6:

return KEY_LEFT_SOFT;

case -7:

return KEY_RIGHT_SOFT;

case Canvas.KEY_NUM2:

case -1:

return KEY_UP;

case Canvas.KEY_NUM4:

case -3:

return KEY_LEFT;

case Canvas.KEY_NUM6:

case -4:

return KEY_RIGHT;

case Canvas.KEY_NUM8:

case -2:

return KEY_DOWN;

case Canvas.KEY_NUM0:

return KEY_ZERO;

}

return 0;

}

按键按下时,首先把物理按键的键值转换为自定义的键值,然后把按键信息保存到按键状态变量keyStates中,保存时采用的是位运算符位或实现的。实现代码如下:

public void keyPressed(int keyCode) {

//转换按键

int key = convertKey(keyCode);

//保存按键

keyStates |= key;

}

按键释放时,和按键按下类似,首先转换键值,然后清除按键信息。清除时把按键状态取反,然后与keyStates位与即可。实现代码如下:

public void keyReleased(int keyCode) {

//转换按键

int key = convertKey(keyCode);

//清除按键

keyStates &= ~key;

}

在界面切换时,需要把按键状态清空,这样只需要把keyStates清零即可。实现代码如下:

/**

* 清除按键

*/

private void clearKey(){

keyStates = 0;

}

实际的按键处理的代码可以在线程中实现。

分享到:
评论

相关推荐

    使用J2ME技术开发RPG游戏(二)——按键处理机制.doc

    在使用J2ME技术开发RPG游戏的过程中,按键处理机制是一个关键部分,它关系到游戏的响应速度和玩家体验。本文将深入探讨如何构建这样一个高效、可移植的按键处理系统。 首先,为了确保游戏对按键的反应快速且灵敏,...

    使用J2ME技术开发RPG游戏(一)——程序框架.doc

    在本篇文档中,我们将探讨如何使用J2ME技术来构建一个RPG(角色扮演游戏)游戏的程序框架。J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于移动设备和嵌入式系统。尽管MIDP2.0的Game API提供了一些便利...

    J2ME游戏开发之RPG——源码

    **J2ME游戏开发之RPG——源码详解** J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如早期的智能手机和平板电脑。在J2ME中开发角色扮演游戏(RPG)是一项挑战性的任务,...

    J2me 基础学习 rpg游戏开发学习

    对于想要学习如何使用 J2ME 开发 RPG 游戏的初学者来说,以下是一些关键知识点: 1. **J2ME 架构**:理解 J2ME 的架构至关重要,它包括配置(Configurations)和Profile(Profiles)。配置定义了运行环境的基本硬件...

    J2ME学习笔记 入门 学习经验

    j2me学习笔记【12】——游戏操作Canvas类的up、down、left、right、fire属性使用实例 j2me学习笔记【13】——创建矩形框、圆角矩形以及填充颜色小例子 j2me学习笔记【14】——创建圆弧并填充颜色小例子 j2me学习笔记...

    j2me编写手机RPG游戏

    在这个标题中,“j2me编写手机RPG游戏”意味着开发者使用J2ME技术来创建了一款角色扮演游戏(Role-Playing Game,简称RPG)。RPG游戏通常包含丰富的剧情、角色发展和互动元素,玩家在游戏中扮演一个或多个角色,通过...

    J2ME RPG游戏解析

    在本文中,我们将深入探讨如何使用Java 2 Micro Edition (J2ME) 技术来开发角色扮演游戏(RPG)游戏。J2ME是Java平台的一个子集,专门设计用于移动设备和嵌入式系统,使得开发者能够在这些平台上创建丰富的交互式...

    J2ME的RPG游戏Demo

    总结来说,这个RPG游戏Demo是J2ME技术在游戏开发领域的实际应用,涵盖了基础的游戏机制和移动平台的适配策略。通过对这个Demo的学习和分析,开发者不仅可以了解J2ME的编程环境,还能掌握RPG游戏的关键元素,如地图...

    j2me RPG游戏代码

    本篇文章将深入探讨一个基于J2ME的RPG(角色扮演游戏)游戏代码,通过解析其中的关键机制,为读者揭示游戏开发的核心原理。 首先,我们要理解J2ME的游戏开发基础。J2ME提供了MIDP(Mobile Information Device ...

    java基于J2ME的游戏开发——贪吃蛇论文.docx

    J2ME(Java 2 Micro Edition)は、近年来随着各种不同设备、尤其是移动通信设备的飞速发展而诞生的新的开发技术。J2ME 是Java平台的微型版,专门为资源有限的设备设计,具有非常广泛的应用前景。 J2ME 的主要特点是...

    j2me游戏开发 经典教程

    j2me游戏开发j2me游戏开发j2me游戏开发j2me游戏开发j2me游戏开发j2me游戏开发j2me游戏开发

    j2me rpg游戏代码

    【J2ME RPG游戏代码】是一种专为Java Micro Edition(J2ME)平台设计的、基于角色扮演(RPG)的游戏开发源代码。J2ME是Java技术的一个分支,主要用于移动设备和嵌入式系统,如手机、智能手表等。这款RPG游戏代码的...

    J2ME版RPG手机游戏征途

    《征途》是一款基于J2ME技术开发的角色扮演游戏(RPG),专为早期移动设备设计。J2ME,全称为Java Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备上的应用程序开发,如早期的智能手机和平板...

    一个J2ME的RPG游戏

    通过研究这个RPG项目,你不仅可以了解J2ME的开发技术,还可以深入理解游戏设计的基本原理和实践技巧。这对你提升移动游戏开发技能,尤其是针对旧版Java手机的开发,将大有裨益。同时,这也是一次了解早期移动游戏...

    j2me开发的rpg

    这款RPG游戏由作者亲自制作,目标用户主要是对游戏开发感兴趣的初级开发者,对于已经熟悉高级游戏开发技术的专家可能并不适用。 J2ME的开发环境通常包括Java Wireless Toolkit (J2ME WTK) 或者NetBeans等集成开发...

    使用j2me编程的游戏——俄罗斯方块

    《使用J2ME编程的游戏——俄罗斯方块》 在移动设备和嵌入式系统中,J2ME(Java 2 Micro Edition)是一个广泛使用的平台,用于开发轻量级的应用程序,尤其是游戏。在这个主题中,我们将深入探讨如何利用J2ME来编写...

    基于J2ME的手机RPG游戏研究~.doc

    【描述】:本文将深入探讨如何利用Java Micro Edition (J2ME) 技术来开发手机角色扮演游戏(RPG)。通过对问题的细化处理和清晰的算法展示,为读者提供一个优秀的实例教程。 【标签】:J2ME 【正文】: 在移动设备...

    RPG游戏J2ME代码讲解

    RPG游戏J2ME代码讲解 第6讲 Java应用大赛作品代码讲解 Tales of Youxi &lt;br&gt;1. 真正的RPG游戏“Tales of Youxi” 我们在这一讲来介绍一款名为“Tales of Youxi”的RPG游戏。它制作精良,称得上是真正...

    j2ME游戏开发详解

    总之,j2ME游戏开发涉及到多方面的技术和技巧,从基础的MIDP API学习,到游戏设计、图形动画和音频处理,再到性能优化和分发部署,每一个环节都是成功开发游戏的关键。通过深入理解和实践,开发者可以创造出丰富的...

    基于J2ME的手机游戏开发——疯狂赛车

    疯狂赛车是一款基于J2ME技术的手机游戏,该游戏实现在分辨率为标准的240*320各种手机上运行。玩家的赛车可通过键盘进行控制,而游戏控制的赛车须具有智能性的自动运行,使游戏具有可玩性。而游戏最重要的就是游戏...

Global site tag (gtag.js) - Google Analytics