将J2ME游戏移植到OPhone上的指导
来源:互联网 发布:js template.render 编辑:程序博客网 时间:2024/04/26 19:19
J2ME游戏移植到OPhone思路
在手机游戏中程序要处理的主要有游戏界面,按键,数据保存,游戏算法。游戏算法是用java语言实现。在OPhone,J2ME上都一样。游戏界面上主要 有图片和文字。在OPhone上画图片,文字,按键,数据保存的代码与J2ME不一样。区别也不是很大,J2ME游戏移植到OPhone上主要要改的就是 画图,画文字,按键,数据保存的代码,其它的基本不用改。
游戏开发中J2ME和OPhone的区别概述
下面列出了J2ME和OPhone的主要区别
下面针对J2ME和OPhone的不同之处分别作介绍
启动程序时执行的代码的区别
程序启动时要加载资源,把某一个界面对象显示在手机屏幕上。J2ME中启动程序会执行MIDlet子类的startApp方法,在OPhone中启动程序会执行Activity子类的onCreate方法。
低级界面类的区别
软件的界面可以使用低级界面或高级界面(控件)来画,低级界面最大的优点是程序员对低级界面控制力强,能指定图,文字的具体坐标,能画各种图形。游戏开发 中界面都使用低级界面来完成,在J2ME中低级界面类是Canvas,在OPhone中低级界面类是View。
绘制界面方法的区别
J2ME中绘制界面的方法是Canvas.paint(),OPhone中绘制界面的方法是View.onDraw()
画笔类区别
画笔类的主要功能是画图,画文字,画各种图形(矩形,线),在J2ME中画笔类是Graphics,在OPhone中画笔类是Canvas。
画图的方法代码的区别
游戏开发中地图,人物,道具等很多内容都是用图片表示的,在J2ME中画图用的代码是Graphics.drawImage(),在OPhone中画图用的代码是Canvas.drawBitmap()。
画文字的区别
游戏中的对话,剧情都是以文字的方式显示出来的。在J2ME中画文字用的代码是Graphics.drawString(),在OPhone中画文字用的代码是Canvas. drawText()。
图像类的区别
在游戏中人物,地图都是图像,在J2ME中图像对象是Image,在OPhone中图像对象是Bitmap。
按键处理的区别
在游戏中玩家与手机的交互主要靠按键,玩家通过按键来控制人物的移动,在J2ME中处理按键的代码是keyPressed,在OPhone中处理按键的代码是onKeyDown
数据保存的区别
在J2ME上保存数据用RecordStore,RecordStore类似于数据库中的一张表,表里有很多条记录,一个记录只有两列,一列是recordId,自动加1,另一列是byte[]类型,下面一段代码演示如何在J2ME上添加读取数据。
- //打开记录仓储
- RecordStore rs=RecordStore.openRecordStore("users", true);
- String userName="无名";
- byte[] data=userName.getBytes();
- //添加数据
- rs.addRecord(data, 0, data.length);
- //读取数据
- byte[] readData=rs.getRecord(1);
- String readUserName=new String(readData);
- //显示到控制台上
- System.out.println(readUserName);
在OPhone上保存数据可以使用Sqlite数据库,可以在库中创建多张表,在表中创建多个列,功能很强大,下面一段代码演示如何在OPhone上添加读取数据
- // 打开数据库
- SQLiteDatabase mdb = this.openOrCreateDatabase("db", 0, null);
- // 创建表
- String sql_create = "create table users (id int,username TEXT)";
- mdb.execSQL(sql_create);
- // 添加数据
- String sql_insert = "insert into users(id,username) values(1, '无名')";
- mdb.execSQL(sql_insert);
- // 读取数据
- Cursor cur = mdb.rawQuery("select id,username from users", null);
- cur.moveToFirst();
- String readUserName = cur.getString(1);
- System.out.println("userName=" + readUserName);
- mdb.close();
游戏开发中J2ME和OPhone相同之处
在游戏开发中,最重要,最难的是游戏算法,游戏算法代码行数一般会占代码的总行数50%以上。游戏算法是用标准的J2SE代码实现,在J2ME和 OPhone上都是一样的。开发游戏需要框架,如MVC, 框架与语言,开发技术无关。在J2ME和OPhone上使用MVC的代码是一样的。现在的手机游戏开发都使用编辑器,用编辑器来编辑地图,动作。编辑器的 开发可以使用awt,swing等开发技术。与J2ME,OPhone无关。
总结
因为J2ME和OPhone都是用Java语言开发。将游戏从J2ME移植到OPhone上主要要改界面绘制,按键,数据保存。其它地方基本不用改。所以将游戏从J2ME移植到OPhone是比较容易。
- 将J2ME游戏移植到OPhone上的指导
- J2ME移植到ophone
- J2ME移植到ophone
- J2ME移植到ophone
- 【代码】如何快速将J2me游戏移植到Android上
- J2ME如何移植到ophone
- J2ME如何移植到ophone
- J2ME游戏移植OPhone平台要点
- J2ME API 移植到OPhone经验谈
- j2me程序如何移植到ophone
- 无缝移植J2ME程序到OPhone平台解决方案
- J2ME游戏移植到Android平台的方法
- 如何把J2ME游戏移植到Android平台的方法
- 将cocos2d-x游戏移植到win8/wp8上
- 将cocos2d-x游戏移植到win8/wp8上
- 将Unity3D游戏移植到Android平台上
- 将Unity3D游戏移植到Android平台上
- 将Unity3D游戏移植到Android平台上
- Linux 设备驱动 Edition 3
- 尊重
- 摘自Crazy Coder
- J2ME API 移植到OPhone经验谈
- 质量管理:ISO/IEC9126 品质特性与品质副特性
- 将J2ME游戏移植到OPhone上的指导
- asp.net中Cookies的操作
- Condition Codes
- HTML DOM Document 对象
- 如何使用Shell脚本读取和修改Windows注册表
- 我的博客
- linux 内核模块编程简要总结
- Rootkit技术
- OIS输入