基于J2ME的Java手机游戏开发技巧
2019-11-30任灏榕
文/任灏榕
现阶段,智能手机已经得到广泛应用,Java功能在移动设备中的应用,对手机增值服务产生较大影响,使人们对信息获取方式更加便捷,日常生活变得更加丰富。在Java技术的基础上J2ME诞生,主要应用在消费性电子产品当中,如手机、PDA应用等,目前J2ME技术的使用已经成为一种潮流,为移动游戏设计与开发提供了新思路。
1 J2ME概述
1.1 简介
J2ME技术是一种以消费性产品为目标的、高度优化的Java运行环境,其中包括移动电话、寻呼机、可视电话、汽车导航系统等等。Java作为计算机编程语言的一种,J2ME属于其中十分重要的组成部分,在手机、PDA中得到广泛应用。同时,Java作为开放平台,能够使更多开发商在其基础上进行各项功能的设计与开发,手机用户也可利用该技术体验到更多动态、个性化的增值服务。与Java相比,J2ME在移动电话支持游戏能力上具有较大优势,与WAP、SMS相比来看控制力更强,并且能够借助无线网络与服务器远程连接,Java手机的普及为J2ME开创了更大的应用空间,使其在当前移动游戏开发中得到广泛应用。
1.2 总体架构
J2ME的运行环境为CDC与MIDP,对于完整的JRE来说,J2ME主要包括CLDC与MIDP两个方面,其中,CDC能够对JVM起到决定性作用,而MIDP的主要作用在于通过加入特定域的类对应用程序进行定义。CDC能够在运行环境进行重新定义,使其成为一组核心类与特定类型设备中的JVM。虽然在J2ME中,一般将虚拟机看作为JVM的最终,但是其与KVM、CVM均属于JVM的子集。CDC能够将运行环境重新定义,使其成为一种特定的JVM,并且还可以对其他配置进行定义,如连接限制配置,能够与KVM一同应用在16位或者32位设备当中,属于J2ME中的小型虚拟机;连接设备配置,能够与CVM虚拟机一同应用到内存大于2兆的32位体系结构当中,例如互联网电视的机顶盒。
2 基于J2ME的手机游戏开发技巧
2.1 合理使用内存,避免内存泄露
由于在Java编程过程中无需考虑到内存的使用情况,借助垃圾处理机制便能够良好的进行垃圾清理,而在J2ME应用中,内存将变得十分宝贵。对于常规的智能手机来说,内存只有几百K,在内存的使用上也应精打细算,否则即便程序中不存在逻辑与语法上的错误,也无法在模拟器中进行使用,阻碍了手机游戏的有效开发。对此,可以采用以下几种开发技巧来应对内存问题。
(1)减少类成员的使用,尽量用本地变量替代,减少对象的创建数量,最好做到重复使用;
(2)禁止在初始化时将全部From或者Canvas对象一次性输入到内存当中,而是在需要时创建,虽然这样做会耽误些时间,但能够有效避免内存溢出的情况;
(3)对于无用对象应立即将其设置成null,使垃圾处理器能够识别并将其清理,在合适的情况下使用Ststem.gc()语句,将垃圾处理器调出;
(4)尽可能减少图片对字节数量的占用,利用Fire-works在确保图片质量的前提下,改变图片的尺寸大小;
(5)应牢记Java内存管理具有向边机制,对于无用对象,切忌让正在使用的对象指向它,以免无法做到及时回收。
2.2 借助图片提高表达效果
在手机游戏的编写过程中,为了游戏能够更加吸引人,可以适当的借助图片来提高表达效果,这也是游戏开发的技巧之一。在J2ME中,如若无法使文字的大小与字体发生改变,则会使游戏效果受到极大影响。对此,可以通过将特殊文字转变为图片的方式来解决此类问题,使游戏变得更加生动、丰富。例如,在等级栏中用五角星来表示游戏难度。另外,使用图片的另一个优势在于提高游戏的通用性,使游戏在不同手机中的显示相一致。当出现在模拟器中字体颜色正常,在手机中显示异常的情况时,也可以采用上述方式来解决。
3 基于J2ME的手机游戏开发实例
本文将利用J2ME技术,对一款Java手机游戏进行开发,游戏名为“蜘蛛侠大战奥特曼”。首先,用Eclipse建立该项目,并新建一个Midlet TicTacToe加入其中,然后将Game Screen与Choose Piece Screen等相关类加入其中。
在startApp()中,输入以下代码对图片进行装载,并通过信息框进行显示:
Image logo=null;
Try
{logo=Image.create Image(”/logo.png”);
}catch(IOException)
Splash Sreen.setTimeout(4000);//延迟4秒
在该页面停留4秒后进入到角色选择页面,该任务由Choose pirce Screen类来实现,对角色图标进行装载显示,并对选择好的角色进行确认。利用构造函数,将当前页面的选择方式定义为列表选择,然后通过appeng()将图片与列表中的文字一一对应,最后调用command Action相应用户选择的角色,并进行确认,这时便可以进入到游戏画面开始体验。
4 结论
综上所述,目前智能手机的功能逐渐多样,在通话、短信等基础功能之外,还具有娱乐、休闲、音乐、拍照等功能。其中,游戏软件占有较大比重,作为开发商应积极将J2ME技术应用到Java手机游戏开发当中,对游戏软件有更深的诠释,并充分运用游戏开发技巧,使受限因素得以优化,为用户带来更好的手机游戏操作体验。