J2ME平台手机游戏移植体会(二)

----------Doja平台手机游戏移植标准J2ME平台方法

 

Doja平台是日本NttDocomo公司的产品。可以通过访问www.nttdocomo.com来获得更多的资料。这里要介绍的是Doja平台与标准平台的差异。一个标准的Doja手机游戏工程包括几个默认的文件夹。

/bin
/res
/sp
/src

bin文件夹存放的跟标准WTK工程文件中的文件夹是一样的,都是编译好的.jar文件和一个.jam文件。.jam文件类似jad文件。可以用文本文件打开编辑。里面有一些必要的项目。包括jar文件的相对路径.

res文件夹应该是存放资源文件的文件夹.(没具体研究)

sp 文件夹存放着程序中要用的.scr资源文件。这里简单的介绍一下Scratchpad的概念。
Scratchpad类似一块内存。但是具体是什么我上网查了一些资料也没确切的说明,也有说像手机中的硬盘的。但是每个工程中可以包含多个.scr文件存放在sp文件夹中.如果你下载了一个开发i-mode for Doja 的开发工具。里面就有关于Scratchpad编辑的设置。这个Scratchpad 在打包的jar文件中并不存在。好象是从网上下载下来用的。

scr文件夹存放着.java的原文件.

给一个代码片段:

DataInputStream in = Connector.openDataInputStream("scratchpad:///0;pos="+0+",length=12"); 

所以如果想修改到标准的J2ME平台就要把.scr这个文件搞明白。它这个资源文件基本上都包括所有资源。声音,图片,数据 等等。一般需要用十六进制的编辑软件将一些有用处的数据提出来。 根据在程序中原来的读写操作进行判断。比如"scratchpad:///0;pos="+256+",length=12"  意思在.scr作为流的数据中偏移256个byte。 长度为12个byte的数据块作为DataInputStream流。可以用下面代码段替换:

DataInputStream din = new DataInputStream(getClass().forName("Test").getResourceAsStream("/Test0.scr"));
din.skipBytes(256);

我无法解释的更详细。因为我做这个东西比较少。只能说说大概。

把资源文件搞定后。开始分析程序。 Doja平台的程序跟普通J2ME平台程序的结构基本一样。只是所用的方法都是Doja自己的方法。需要自己写一些方法替换掉。 最常接触的就是画图方法。drawImage();  这个方法在Doja的API说明中有很多个重载的方法。可以接收很多不同的参数。因为Doja有自己的方法,可以从一幅大图中单独画一幅小图 。只要给定坐标和尺寸就可以。所以Doja的画图都是从一副大图中画一幅小图。Doja的接收按键的方法也不同。它有点类似MIDP2.0的方法。对按键的状态是进行判断的。所以很方便做按下和释放的事件处理。 在程序中都是才用位操作实现的。

我觉得Doja游戏移植的难点不是API的不同。而是内存的处理。因为日本的手机性能大部分都比国内的手机的性能好很多。包括网络连接。所以处理内存是个难题。

还有一点注意的就是在进行图象翻转,缩放,与变色的方法上。如果你要从写这些方法。要考虑处理速度的问题。就算你写的方法是可以实现原功能的,也会在速度差异上出现意想不到的效果。

对于程序的处理,我没有介绍很多。因为程序千变万化。如果你遇到什么难题或者需要实现什么方法。可以联系我。或许我这里有写好的。呵呵^_^

 

QQ:191971016

msn:k7sem_88@hotmail.com

如果您对我的文章转载,请您标明文章的出处,并保持文章的完整性。谢谢!

在Linux上构建J2ME环境开发手机游戏 在本文中,我们将介绍如何在Linux操作系统上搭建J2ME(Java 2 Platform, Micro Edition)环境,以便开发手机游戏。J2ME是一种针对嵌入式设备(如手机)的Java平台,它提供了特定于移动设备的API和工具。通过搭建J2ME环境,您将能够使用Java语言开发具有丰富功能的手机游戏。现在,您已经搭建好了J2ME环境,可以开始创建您的第一个J2ME项目了。这是一个简单的J2ME游戏示例,它创建了一个包含一个"Exit"按钮的表单。模拟器将启动,并加载您的游戏。 阅读详情

相关推荐

J2ME平台上的Java手机游戏模拟器实战指南

随着移动互联网的高速发展,手机游戏逐渐成为人们娱乐生活的重要部分。Java手机游戏模拟器为手机游戏爱好者提供了一个重要的平台,它允许用户在非移动设备上运行J2ME(Java 2 Micro Edition)编写的手机游戏。本章将介绍Java手机游戏模拟器的基本概念、它的发展历程以及在当今社会中的应用价值。KEmulator模拟器是一个专门为Java开发的手机游戏模拟器,它可以在Windows桌面操作系统上运行,提供了接近真实手机环境的模拟功能。

weixin_31176789的博客 977

J2ME游戏移植OPhone平台要点

J2ME游戏移植OPhone平台要点   手机游戏是目前深受广大手机用户喜爱的一种娱乐软件,各大运营商都有自己的手机游戏平台,比如中国移动的百宝箱,MM平台,当然,除了运营商之外,类似QQ游戏平台和一些Free Wap网站都提供手机单机和网络游戏的下载。目前大多数的手机游戏还是以J2ME平台为主,而OPhone做为一个后起之秀、一个新的手机操作系统,目前上面的软件和游戏还不是很多,但是它有一个

629

基于J2ME的手机游戏设计与制作实战教程

/ 移动指令包:type(1)+x(1)+y(1)+ts(2)+crc(1)// 类型:移动// XOR校验📡传输策略建议:- 合并多个操作,减少小包发送- 加入心跳保活:- 失败重试最多3次,避免无限阻塞J2ME或许已退出历史舞台,但它教会我们的东西从未过时:在资源极度受限的环境中,优雅的架构比强大的功能更重要。这种“以小搏大”的工程思维,正在IoT、边缘计算、WebAssembly等领域重新焕发生机。

weixin_36213081的博客 1070

J2ME平台手机游戏移植的体会(一)

做了半年手机游戏移植,有种身心疲惫的感觉.每天反复的阅读别人写的代码,很是郁闷.希望某一天能换个环境做做开发.哎. 首先要说的是,我在公司移植的主要是日本的手机游戏.多数需要汉化处理.少数涉及到跨平台的移植.我所用的编程环境就是很普通的WTK+JDK.而且版本都是很低的,因为要符合中国移动的打包规范。然后再用一个文本编辑器写写代码。仅此而已。手机游戏移植主要的工作是把原来的一款别的型号手机上的游戏...

java2000.net 267

探索J2ME平台的潜艇大战游戏源代码

本文还有配套的精品资源,点击获取 简介:《潜艇大战》是一款利用Java ME平台开发的手机游戏,它提供了学习游戏算法和移动游戏开发的宝贵资源。该游戏包含了多种游戏机制和算法,如碰撞检测、AI行为模拟、游戏状态管理等。源代码深入展示了游戏开发的各个方面,包括用户界面设计、数据存储、性能优化,适用于希望深入了解移动游戏开发和J2ME平台的开发者。 1. J2ME平台游...

weixin_42629522的博客 1401

劲乐团 J2ME 移植

劲乐团 J2ME 移植,这是一款PC移植游戏,适合新手学习,习武大家一起进步。

J2ME平台手机游戏移植体会

 J2ME平台手机游戏移植体会          Author: 一滴蔚蓝色 |  Date: 2008-05-10 |  View: 39 |  开发技术 -  新手上路   做了半年手机游戏移植,有种身心疲惫的感觉.每天反复的阅读别人写的代码,很是郁闷.希望某一天能换个环境做做开发.哎.首先要说的是,我在公司移植的主要是日本的手机游戏.多数需要汉化处理.少数涉及到跨平台的移植.我所用的编程环境

Go for it! 745

DoJa-1942:使用 iAppli SDK 1.5 从 J2ME 1942 移植到 DoJa(2005 年 5 月)

多哈 1942(2005 年 5 月) 总结 我将我的 J2ME 1942 克隆移植到 i-mode (DoJa) 平台 运行 JAR 的要求 Java 2 运行时环境 DoJa 1.5 模拟器版1.07 可以从 DoJa 开发者网络下载: 如何玩演示 可分发文件位于“dist”文件夹中 箭头(或 8/2、4/6)移动飞机 动作按钮(或 5)触发 如何编译 下载 iAppli (DoJa) 模拟器后,只需将 i1942 目录复制到 iDK\apps\ 文件夹并从 iApplitool 打开项目; 按“构建”,然后“运行”。 那应该工作... 代码结构 图像文件夹包含游戏中使用的所有具有透明度的 png。 有6个班级: Sprite.java:该类管理基本的精灵内容,例如获取和设置其位置、碰撞检测和绘制精灵。 Player.java:这个类继承自 sprite,它只是添加了设置/

[转载]J2ME平台上手机游戏移植的体会

J2ME平台上手机游戏移植的体会首先要说的是,我在公司移植的主要是日本的手机游戏.多数需要汉化处理.少数涉及到跨平台的移植.  我所用的编程环境就是很普通的WTK+JDK.而且版本都是很低的,因为要符合中国移动的打包规范。然后再...

congji3817的博客 236

Paraview:Python Calculator Filter

python calculator过滤器 from paraview.simple import * connection = servermanager.Connect('localhost',11111) er = servermanager.sources.EnSightreader(CaseFileName='/.../data.case') er.PointArrays = ['x_velocity','1','y_velocity','1','z_velocity','1','cp','1']

haimianjie2012的专栏 3496

3D Slicer的学习(二) 图像的分割

先对不同层级标注,然后点击Fill between slices -> Initialize -> Apply拖动层级颜色区域就会变成连续自适应的动态变化区域。如图,点击Level tracing,在图像上放置鼠标,会显示可能想要选中区域的轮廓,点击鼠标右键会将其显示为蓝色。然后点击Grow from seeds -> Initialize -> Apply,显示3D之后会自动扩展到其他位置的相同部位,从而展示整个部位。如图为copy之后,将黄色区域的颜色复制到原本的绿色区域。

tuweibazong的博客 6086

J2ME平台手机游戏移植的体会

作者:k7sem 文章来源:优快云 首先要说的是,我在公司移植的主要是日本的手机游戏.多数需要汉化处理.少数涉及到跨平台的移植.我所用的编程环境就是很普通的WTK+JDK.而且版本都是很低的,因为要符合中国移动的打包规范。然后再用一个文本编辑器写写代码。仅此而已。手机游戏移植主要的工作是把原来的一款别的型号手机上的游戏。经过修改能在当前型号的手机上运行和使用的过程。所以可以把这个工作细分为几方面

mobilechannel的专栏 968

保姆级教程:DBeaver社区版安装与驱动配置(附阿里云镜像解决下载超时)

本文提供DBeaver社区版的保姆级安装教程,涵盖版本选择、安装路径设置到驱动配置优化。特别针对国内用户遇到的下载超时问题,详细介绍了如何配置阿里云镜像加速驱动下载,确保高效连接MySQL等主流数据库。

weixin_30430169的博客 480

J2ME平台手机游戏移植的体会【转】

<br />首先要说的是,在公司移植的主要是日本的手机游戏.多数需要汉化处理.少数涉及到跨平台的移植.<br />所用的编程环境就是很普通的WTK+JDK.而且版本都是很低的,因为要符合中国移动的打包规范。然后再用一个文本编辑器写写代码。仅此而已。<br />手机游戏移植主要的工作是把原来的一款别的型号手机上的游戏。经过修改能在当前型号的手机上运行和使用的过程。所以可以把这个工作细分为几方面的事情:<br />-----------------------------------<br />1,处理屏幕尺寸

JasonChan2008的专栏 631

Nano Banana 2哪里使用?Nano Banana 2提示词合集和使用教程

收集最强的Nano Banana 2提示词合集,以及Nano Banana 2哪里使用的教程,并且有10个免费使用渠道。

qq_42927225的博客 2004

【RV1126/RV1109学习笔记】#基础篇#(2)基础入门使用

一、调试方式 1、串口调试 2、ADB调试 3、网络调试 二、基础外设使用 音频使用(aplay,arecord,amixer) 三、WIFI连接 四、屏幕背光控制

丨晋丨 1864

2005年毕业论文----J2ME手机游戏开发高计

一  前  言 1.1 摘要 J2ME(Java 2 Micro Edition) 是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上,对设备的智能化、多样化,提供了革命性的解决方案,并因其“Write Once, run anywhere”的Java特性而提高开发的效率。 随着手机的日益普及、Java功能在移动设备上的实现,Java应用

临界思考 4550

PHP实现获取当地网络时间​(附完整源码)

PHP实现获取当地网络时间​(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 240

关于写《J2ME手机游戏开发技术详解》的初衷

    我接触J2ME纯属偶然,并且时间并不是很长,但是由于我长时间的BREW游戏开发经验,并且有良好的C++基础,因此对于J2ME游戏而言,掌握较为轻松。    我最早进行的J2ME手机开发是在中国联通刚刚推出UniJa的时候,并且作为当时第一批正式商业应用上市的,见证了UniJa的成长历程。这比大部分中国移动的开发人员来讲,更多的接触了一个不成熟的Java虚拟机。由于开始是在一个不稳定的J

李振鹏的专栏 2092

链接文件及功能安全:Hightec如何将Flash驱动放进RAM

Fls本身是无法操作自身的,犯冲突。Fls_WriteCmdCycles (预留300字节)与 Fls_EraseCmdCycles(预留200字节) 函数在执行之前将会Copy进RAM,Fls本身是不能操作Fls本身的,除非把最底层的驱动函数防止在RAM或者其他的Flash里面,假设Flash放置在PF0可以操作PF1。英飞凌的驱动有个规定写指令预留300字节,擦除指令预留200字节。

梦想技术家 2145

读懂 ABAP CDS 注解的直接、继承与派生

本文系统梳理了ABAP CDS注解的评估逻辑,重点解析直接注解(Direct)、继承注解(Inherited)和派生注解(Derived)的差异及其在CL_DD_DDL_ANNOTATION_SERVICE中的处理方式。通过视图注解@Metadata.ignorePropagatedAnnotations可调控注解传播行为,避免下游语义影响上层视图。文章还提供了基于标准表的完整示例(包含底层视图、消费视图和ABAP报告程序),帮助开发者在实际系统中验证三层注解的叠加效果与阻断机制。关键点包括:派生注解的数据

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 246

J2ME简明教程上

    第一章 J2ME开发简介 目标: 掌握J2ME的基本概念 了解CLDC特性 对手机开发有整体上的认识 1.1 J2ME基本概念 手机上的应用软件经历了3个阶段: z 仅提供基本通话功能 z 简单的应用程序(电话簿) z 网络功能(WAP) 使用人群的增长,手机厂商依然闭门造车,导致2个问题的出现: z 没有开放的平台,各自的软件不能相互使用。 z 访问Inter

创业的程序员 2157

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

J2ME 学习

一、J2ME中需要的基础知识 整理了一些J2ME需要的基础知识,给大家点方向。J2ME中使用到的Java基础知识: 1、Java语法基础:包括基本数据类型、关键字、运算符等等 2、面向对象的思想:类和对象的概念,继承和多态等等。 3、异常处理 4、多线程 J2ME中没有用到的Java基础知识: 1、JDK中javac和java命令的使用 2、Java基础中的

魏照哲的专栏 850

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

J2ME游戏开发(从零开始)

  手机游戏概论 大纲 l           手机游戏类型。 l           手机游戏开发特点。 l           手机发展历史及3G技术展望。 重点 l           手机游戏主要有以下几种类型:嵌入式游戏、短信息服务游戏、WAP浏览器游戏、J2ME和其他的解释语言类游戏。 l           合理开发手机游戏:缩短游戏时间、合理处理等待时间。 l...

金佳杰 1117

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

j2me游戏开发实例讲解

J2ME再现华容道一.序言  昨天在网上闲逛,发现一篇讲解用delphi实现华容道游戏的文章,颇受启发.于是,产生了将华容道游戏移植到手机中去的冲动.现在手机游戏琳琅满目,不一而足,华容道的实现版本也很多.正巧不久前笔者对J2ME下了一番功夫,正想借这个机会小试牛刀.选用J2ME作为开发语言还有一个原因就是目前Java开发大行其到,无限增殖业务迅猛发展,J2ME的应用日渐活跃起来,也希望我

dongpengpeng的专栏 1324
上一篇: 深入理解Canvas类的使用(一)
下一篇: 关于自学和上培训班的问题
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值