MobileSVG在手机游戏中的应用研究

2022-09-11

随着通信技术的飞速发展, 手机应用程序也不断增多, 而手机游戏成为当前应用的关注热点之一, 而当前手机由于自身存在手机CPU处理速度有限, 屏幕受限、以及存储容量也受到限制等问题, 是手机游戏的开发产生必然的影响。目前手机上展现2D矢量图形技术或播放矢量动画主要技术由Flash演进而来的Flash Lite及Mobile SVG[1]。笔者探讨了Mobile SVG规范在J2ME平台的应用。

1 Mobile SVG规范

SVG (Scalable Vector Graphics) 格式[2]标准初衷是为了台式机而设计的, 但是由于手机、PDA等嵌入式移动设备等因素的限制, W3C于2000年引入了移动版本的SVG:SVG Basic和SVG Tiny[3]。前者用于用于高端嵌入设备, 而后者用于低端嵌入设备和智能手机。两者统称为Mobile SVG, 该规范的特点如下。

(1) Mobile SVG的图形具有无限缩放性。由于Mobile SVG的矢量性, 用户可以放大图形而不会损失图像质量, 因此在不同的分辨率或放大系数表现时, 保证优秀的图形质量。

(2) Mobile SVG文件小。Mobile SVG文件通常小于位图文件, 可以减少在无线网络的传输时间, 很适合做手机终端的应用。

(3) Mobile SVG图形是动态。Mobile SVG中实现的矢量图形是互动的, 具有缩放、平移、超链接等功能。

2 基于SVG的J2ME游戏设计

2.1 JSR-226 A PI技术规范

JSR-226是由17个专家组成员公司参与定义的实现Mobile SVG的SVG Tiny的解决方案[4], JSR-226引入了兼容microDO M的API, microDOM是SVG1.2完整的文档对象模型 (DOM) 的一个子集。JSR-226 AP I包括了1个核心应用包和3个高级应用包。其中核心应用包为javax.microedition.m2g, 用于SVG图形的装载、绑定以及渲染等处理;而高级应用包包括了org.w3c.dom、org.w3c.dom.svg以及org.w3c.dom.even ts, 它们用于处理SVG交互操作。

2.2 J2ME应用及其规范扩展

J2ME正是这样一种JAVA应用开发平台。J2ME是JAVA2标准版本的微型版本, 专门为小型移动设备所设计。这些设备处理器的处理能力都不强, 可使用的资源也有限。因此, J2ME只包含了J2SE中在移动通信设备上所必需的功能和组件, 使其能够在移动设备及其有限的资源上开发出丰富多彩且平台无关的应用。J2ME在结构上分为CDC和相应的Foundation Profile规范, 以及CLDC和相应的MIDP规范。

3 SVG游戏设计思路

手机游戏基本上是基于Sprite的游戏。基于Sprite游戏实现的基本思路是:游戏的界面由图层组成, 背景可以在一个图层上, 而游戏精灵Sprite可处在另外的图层上, 对每一个图层有效的控制。

图层中的Sprite精灵实体控制仍是基于SVG手机游戏的重点。只是将游戏中背景图层和各个Sprite实体的基本属性预先定义到SVG文件中。在SVG文件中可以通过编组标签定义各个实体, 在标签内, 通过等标签定义实体的图形基元。

对于Sprite的控制可以通过J2ME中定义SVG图形 (Mobile 2D Graphics, M2G) API实现。它的核心java-x.microedition.m2g提供了对SVG文件的载入和解析, 获取SVG文件中个组件对象, 通过JSR-226的高级包, 根据游戏的逻辑对图形的组件进行控制。

4 游戏设计的实现

为了验证上述思路是否可行, 笔者使用J2ME平台下, 利用“Sun Java Wireless Toolkit Version 2.5 for CLDC”开发了一款弹球游戏, 运行效果如图1所示。该游戏是利用SVG文件获取有图形基元组成相应的图形实体。为了减少对存储空间的占用, 对SVG文件采用了“GNU GZIP压缩方法”, 压缩比率达到“1:8”。该程序在模拟器中运行良好。

5 结语

SVG技术是一种非常有潜力的矢量图形技术。不仅在网络上得到广泛的应用, 在无线应用领域也是将抢占一席之地。随着3G的应用和推广, Mobile SVG依靠其以用户为中心的技术优势, 将会在资源受限的移动设备上大放异彩。

摘要:无线应用领域是当前的一大热点, 为了可以解决光栅格式图形存在的失真等问题, 研究了Mobile SVG技术在无线应用中的图形处理优势, 阐述了如何在J2ME平台中使用Mobile SVG技术, 然后使用JSR-226开发了一个弹球游戏, 为无线游戏开发提供了一个参考思路。

关键词:Mobile SVG,J2ME,手机游戏,JSR-226

参考文献

[1] Adobe.Adobe flash lite[EB/OL].http://www.adobe.com/pro-ducts/flashlite/.

[2] W3C.Scalable vector graphics (SVG) :XML graphics for the web[EB/OL].http://www.w3.org/Graphics/SVG/.

[3] W3C.Mobile SVG profiles:SVG tiny and SVG basic[EB/OL].http://www.w3.org/TR/SVGMobile/.

[4] JSR226[EB/OL].http://wiki.svg.org/index.php-title=JSR_226.

上一篇:谈手机媒体对新闻传播活动的影响下一篇:搞活教学形式提高学生素质