
J2ME
夜梦星辰
这个作者很懒,什么都没留下…
展开
-
J2ME游戏的基本结构
游戏是什么呢?在游戏中,往往是显示各种各样的画面,玩家可以做一些设定好的控制,画面根据玩家的控制有所变化。从这儿可以看出,游戏至少需要三个功能-显示画面,接受玩家输入和对输入产生反馈。这就是常说的渲染,输入输出和逻辑三个模块。将这三个模块组合在一起有很多方法。比如事件驱动-画面保持不变直到接受到输入事件,程序进行逻辑运算然后改变画面。而游戏往往不是这样,游戏是时间驱动的。也就是说无论有...原创 2009-10-10 11:17:34 · 187 阅读 · 0 评论 -
使用J2ME技术实现手机触摸屏开发的方法
在WTK目录下的\WTK22\wtklib\devices\DefaultColorPhone\DefaultColorPhone.properties的文件中有一行touch_screen=false,把它改成true。 1.pointerDragged(int x, int y) 触摸屏拖拽事件(暂时还没研究) 2.pointerPressed(int x, int y) 触摸屏按...原创 2010-01-04 14:39:38 · 97 阅读 · 0 评论 -
J2ME SOCKET
一、tomcat目录:将类放在:$tomcat\webapps\Root\web_inf\classes\将HTML放在:$tomcat\webapps\Root\对于自己的工程项目,可以在webapps下自己建立一个目录。比如$tomcat\webapps\mywork\那么自己的所有类需要放在:$tomcat\webapps\mywork\web_inf\class...原创 2010-01-05 11:38:32 · 145 阅读 · 0 评论 -
SocketSocket编程
开发流程: 服务器监听某个端口 客户端连接服务器的某个端口 通过SocketConnection通信服务器监听某个端口: javax.microedition.io.Connector专门负责建立各种连接open(“socket://:端口”),返回 ServerSocketConnection ServerSocketConnection可以获得...原创 2010-01-05 16:11:07 · 126 阅读 · 0 评论 -
J2ME(JSR75)组件之文件选择器
在J2ME开发的时候,可能会需要浏览手机的文件目录,但是又没有和J2SE里面的JFileChooser一样的组件可以用,只有自己写一个了,在写的过程中,发现了一些问题,在此与大家分享一下。 一开始我以为,只要是支持JSR75的手机都可以支持手机内所有文件的访问,可是在真机上一看才知道,手机的文件或者文件夹有公有与有私有之分,我们看上去像是公有的文件夹,在J2ME里面却不能访问。比如我...原创 2010-01-05 16:32:30 · 94 阅读 · 0 评论 -
JSR75学习笔记
这段时间因为开发上要用到本地文件,因此开始接触Jsr75的包,Jsr75分两个部分,一部分是File,即本地文件系统,一部分是PIM,说白了就是电话本之类的信息,我先学习的是File部分,通过import javax.microedition.io.file.*里的包,可以实现自由访问本机的文件系统,就跟Windos里的资源管理器一样,在这里我介绍几个我写的方法一.获取指定路径的目录和文件列表...原创 2010-01-05 16:37:19 · 119 阅读 · 0 评论 -
在J2ME中实现基于UDP协议通讯程序
在GCF中提供了DatagramConnection和Datagram两个接口,借助他们我们可以在J2ME中基于UDP协议开发联网应用程序。在MIDP2.0中,添加了UDPDatagramConnection这个接口,他扩展了DatagramConnection并添加了两个方法getLocalAddress()和getLocalPort()。我们知道UDP服务是不可靠的,如果你希望开发更可靠的...原创 2010-01-05 16:49:15 · 122 阅读 · 0 评论 -
MIDP 2.0安全机制 与 MIDlet 数字签名
本文档是 WoSign 根据 Forum Nokia 提供的技术文档《MIDP 2.0: Tutorial On Signed MIDlets》翻译整理的,而最新版WTK2.5.1有中文版使用指南,将大大方便用户,请用户在编写 MIDlet 和签名 MIdlet 之前一定要仔细阅读此文档,以便对 MIDP2.0 的安全机制有一个深刻的理解,有助于用户能用好 MIDlet 代码签名证书。 ...原创 2010-01-08 09:44:02 · 107 阅读 · 0 评论 -
[2D]J2ME高速游戏地图绘制经验
在缓冲区绘制地图时,如果基于tile变换地图速度太快,FPS不好控制,可以先绘制比屏幕大小高和宽一个相素,缓冲区反转屏幕时,屏幕由相素坐标控制地图显示,其实就是多出那个一个tile的相素变换,由屏幕外逐渐绘制到屏幕内,可以在屏幕绘制时采取记数器,但是记数器的边界一定要设置正确,否则地图会斗(犯过这样的毛病,特别注意),等技术器到达边界再更新缓冲区。因为缓冲区不必每真都绘制,它里面是根据tile...2010-01-12 16:29:12 · 133 阅读 · 0 评论 -
JAD中文名字解决方法
最近正好在弄JAD,碰到中文无法显示的问题,之前就碰到过,但没有及时总结出来,此次又得重新研究,还好找到一个比较方便的方法,写个记录备查~! 对程序生成的jar文件,首先我们最好用混淆器进行混淆,这样可以减少其大小,而且一定程度的保护自己的代码(也不一定要混淆的!可以省略这步)混淆完成后,用rar打开jar文件,找到MANIFEST.MF文件,把它提取出来,用记事本打开,例如:Manifest-V...原创 2010-01-12 16:44:41 · 376 阅读 · 0 评论 -
J2ME的RMS
在JAVAME中,程序的数据保存的地方,无外乎两种,一种是把数据保存在RMS里面,这是所有的JAVAME的手机都支持的,还有一种就是把数据保存在手机的文件系统里面,这个不是所有手机都能支持的,只有支持JSR075的手机,才支持把数据保存在文件系统里面,并且如果你的程序没有经过签名的话,你每次保存或者读取,手机都会弹出恼人的提示,是否允许程序访问文件系统。所在我一般都是把数据存在RMS里...2010-04-10 23:32:04 · 177 阅读 · 0 评论 -
j2me签名相关注意事项
我们得到一个证书后就可以对j2me的jad文件进行签名。这里有一些与签名相关的需要注意的一些问题。1. 想要安装签过名的软件,就必须通过jad来安装。我们知道j2me程序生成后会有jad和jar两个文件,一般情况下我们只需要安装jar文件就可以了。例如我会将jar文件通过蓝牙传到手机上,再进行安装。但如果想通过手动安装签过名的文件,就要通过jad来安装,而且要确保jad和jar文件是在...2010-01-23 23:45:12 · 161 阅读 · 0 评论 -
J2ME添加自定义图标
与图标有关的是这两行: MIDlet-Icon: ***.png MIDlet-1: GameName, ***.png, classmain ***.png就是图标文件的名称,比如icon.png, /icon.png, /image/icon.png等等;其中“/”表示路径,比如/icon.png表示图标是根目录下的icon.png文件,/image/i...原创 2010-01-23 23:52:55 · 179 阅读 · 0 评论 -
FileConnection简介(JSR-75)
1 引言 本文档讲述了FileConnection API [JSR-075],并简要介绍了该包中包含的MIDlet范例以及诺基亚特有的一些实现细节。本文档假定读者熟悉Java™编程,并具有移动信息设备描述 (Mobile Information Device Profile, MIDP)编程的基础,MIDP编程基础可参见诺基亚论坛中的文档MIDP 1.0: Introduction...原创 2010-01-29 01:17:04 · 176 阅读 · 0 评论 -
手机版飞鸽传书:无线牵
【中文名】无线牵【英文名】Wireless Linker【组成】PC端(PC版)WirelessLinker-PC.jar、Mobile端(手机版)WirelessLinker.jar 【作者】火种工作室(Tinder Studio)【邮箱】tinderstudio@163.com 【使用注意】1、本软件使用J2ME开发,使用前请确认你的手机支持JS...原创 2010-01-30 21:02:27 · 191 阅读 · 0 评论 -
KVM的类加载
首先简要介绍一下class文件的结构(详细内容请参考Java虚拟机规范,在《深入Java虚拟机》一书中也有详细描述): 文件系统中的一个class文件,要想成为能在虚拟上运行的Java程序的一部分,必须经过“装载->连接->初始化”三个步骤。其中装载是最基础的一步,它的作用是读取class文件的信息,并生成对象。下面介绍一下KVM中与类加载相关的内容是如何实现的。 ...原创 2010-02-09 15:46:24 · 145 阅读 · 0 评论 -
J2ME平台PNG图片的压缩与解压缩
在J2ME平台上PNG图片格式几乎成为了标准,无数台手持设备上运行的J2ME程序几乎都选用PNG来显示图像,包括大量的手机游戏以及手机应用,所以对PNG文件格式的了解,可以更有效的减少Jar Size,保护自有知识产权。PNG文件格式:PNG文件格式分为PNG-24和PNG-8,其最大的区别是PNG-24是用24位来保存一个像素值,是真彩色,而PNG-8是用8位索引值来在 调色盘中索引一个颜...原创 2009-12-11 09:49:35 · 200 阅读 · 0 评论 -
J2ME中平方根算法
J2ME中,确切的是CLDC1.0/MIDP1.0乃至CLDC1.1/MIDP2.0中,没有开平方的函数(在J2SE中是通过java.lang.Math.sqrt()方法实现的)。但是在游戏数值平衡中,开平方是一个很基本的方式。在一次项目会议上,组员提出如何实现开方,我没加思索,提出采用逆向逼近法。但后来考虑这样的性能很低,在手机上如此宝贵的CPU资源不能就这样浪费了!于是考虑到采用实现手算开方法...原创 2009-12-11 09:24:25 · 139 阅读 · 0 评论 -
J2ME中定点库MathFP使用入门
众所周知,CLDC1.0是不支持小数运算的,而CLDC1.1才支持浮点运算。但是目前市面上的手机,绝大部分是采用CLDC1.0这种configuration.那我们需要进行小数运算怎么办呢?比如说要绘制任意角度的飞机运行轨迹。 你当然可以自己写一个类,用整数来模拟定点小数运算(模拟浮点小数运算非常困难),不过你不必重新发明轮子,网上有很多用整数运算来模拟小数运算的代码库,而MathFP就是其中非常...原创 2009-12-11 09:19:07 · 152 阅读 · 0 评论 -
J2ME CLDC概述
什么是CLDC CLDC(Connected Limited Device Configuration,联网的受限设备配置)是用来开发在无线设备上运行的应用程序所要用到的一组最小的 API。CLDC 描述了所有无线移动设备所需的一个最小级别的功能集合。 对于 Java ME 平台,CLDC 为移动电话、双向寻呼机以及类似设备定义了基本配置(Java 语言、虚拟机功能和基本...原创 2009-10-14 12:26:52 · 216 阅读 · 0 评论 -
CLDC/MIDP的基本结构
粗略的说j2me把设备分为两类,一种是联接设备( connected device),一种是有限联接设备(Connected, Limited Device)。前一种对应于那些有电源的,电力充裕,较大的设备。例如:电视机,冰箱等,后一种对应于主要使用电池,小型的设备,例如:手机,pda等。这里我主要只涉及第二种,有限联接设备(Connected, Limited Device)。sun把J2me的...原创 2009-10-14 14:09:41 · 295 阅读 · 0 评论 -
J2ME下的点阵字实现
前言:开发J2ME过程中,我们会发现平台本身提供的字体太小,而且样式有限,严重影响游戏性的提高。不废话,进入正题。 首先,我们了解到:一个GB2312汉字是由两个字节编码的,范围为A1A1~FEFE。A1-A9为符号区,B0到F7为汉字区。每一个区有94个字符(注意:这只是编码的许可范围,不一定都有字型对应,比如符号区就有很多编码空白区域)。下面以汉字“我”为例,介绍如何...2009-10-24 11:07:44 · 120 阅读 · 0 评论 -
3ds max坐标转换成opengl 坐标系
原理不分析了,直接上数据分析Max: Quat: (quat -0.772327 0.105251 0.0845889 0.620708) OGL: Quat:: -0.772327 , 0.084589 , -0.105251 , 0.620708 Max: Position: [-29.6717,-109.273,7.91964] O...原创 2009-12-09 22:53:23 · 301 阅读 · 0 评论 -
M3G教程:入门篇
3D技术对我们来说已经非常熟悉了,最常用的3D API有OpenGL和Microsoft的Direct 3D,在桌面游戏中早已广泛应用。对于J2ME程序而言,Mobile 3D Graphics API(JSR184)的出现,使得为手机应用程序添加3D功能成为可能。 JSR184标准(M3G:Mobile 3D Graphics)为Java移动应用程序定义了一个简洁的3D A...2010-03-21 01:14:58 · 833 阅读 · 0 评论 -
M3G教程:进阶篇(一)金字塔
关于Worldpublic class World extend Group A special Group node that is a top-level container for scene graphs.A scene graph is constructed from a hierarchy of nodes. In a complete scene graph,...2010-03-21 01:15:24 · 201 阅读 · 0 评论 -
M3G教程:进阶篇(二)灯光
灯光(Lighting)java.lang.Object +-javax.microedition.m3g.Object3D +-javax.microedition.m3g.Transformable +-javax.microedition.m3g.Node +-javax.microedition.m3g.Light 在一个没有...2010-03-21 01:16:20 · 476 阅读 · 0 评论 -
M3G教程:进阶篇(三)纹理
纹理(Texture)java.lang.Object | +--javax.microedition.m3g.Object3D | +--javax.microedition.m3g.Transformable | +--javax.microedition.m3g.Texture2D A...2010-03-21 01:18:21 · 159 阅读 · 0 评论 -
M3G教程:进阶篇(四)模型
import javax.microedition.lcdui.Graphics;import javax.microedition.lcdui.game.GameCanvas;import javax.microedition.m3g.Camera;import javax.microedition.m3g.Graphics3D;import javax.microedit...2010-03-21 01:18:51 · 192 阅读 · 0 评论 -
3DS MAX导出M3G动画
1、用3D Studio Max或者Maya的插件h3texporter导出的文件格式是.h3t的文件。.h3t的文件是一个文本文件,可以用记事本,写字板或者其他的文本编辑工具打开。.h3t文件描述了所创建的模型的所有信息(例如顶点信息,面的信息,骨骼动画的信息,关键帧的信息等)。2、将.h3t文件用转换工具M3G Converter转换成为.m3g文件从而用JSR184API识别和导入。...2010-03-21 10:11:18 · 356 阅读 · 0 评论 -
M3G教程:进阶篇(六)动画
M3G中动画的数据结构如下:【载入World节点】 通过M3G Viewer查看M3G Converter转换的m3g文件,我们会发现m3g文件中camera并没有在world树下,而是和world树是平级的。因为JSR184要求渲染时所有模型信息必须放到world树下,所以我们要先获取World节点,方法有两种: ①遍历该Object3D数组...2010-03-21 21:33:14 · 221 阅读 · 0 评论 -
J2ME中使用microlog
import javax.microedition.midlet.MIDlet;import javax.microedition.lcdui.*;import net.sf.microlog.core.Logger;import net.sf.microlog.core.LoggerFactory;import net.sf.microlog.core.Property...2010-03-22 22:17:30 · 123 阅读 · 0 评论 -
导出M3G文件指南
概述: 这个文档罗列了一些我们在开发3D模型和使用M3G作为最终输出模型时需要注意的一些问题。注意本指南中讨论的时使用的是3DMax为3D的建模工具。1. 通常的问题:a) 如果你想你的应用程序能够运行一个任意的适合M3G的引擎,那们就不要使用任何额外的扩展接口。当不确定某一接口是否可用时,可以参考在的文档http://www.forum.nokia.c...2010-03-25 12:54:55 · 126 阅读 · 0 评论 -
在J2ME开发中获取系统属性
在J2ME开发中,我们经常需要和手机系统进行交互,获得一些和系统相关的信息,在J2ME API设计中,提供了一系列的系统属性 表1 CLDC、MIDP和JTWI属性 属性名称 属性作用 microedition.profiles 代表手机支持的MIDP版本,返回格式值为“MIDP-1.0”或“MID...2010-03-27 18:21:46 · 91 阅读 · 0 评论 -
M3G游戏中性能提升技巧
JSR184 M3G(Mobile 3D GraphicsTM)是针对移动3D应用的一个简明3D API接口集,Motorola E680/E680i/A780支持这个集合。M3G仅仅是一个高级的java接口,在E680/E680i/A780中底层的实现是由SuperScape开发的Swerve 3D引擎完成,它是一个针对Arm/XScale处理器的高性能3D引擎。 下面...2010-03-28 17:59:37 · 156 阅读 · 0 评论 -
一点对m3g模型文件解析的工作
因为最近不会在m3g文件上继续工作,把之前一点少少的工作放出来,希望可以有点帮助/* * Main.java * * Created on 2005年5月15日, 下午11:41 */package m3gloader;import java.io.*;import java.util.zip.*;/** * * @author admin */...原创 2010-02-11 09:49:43 · 194 阅读 · 0 评论