ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:25KB ,
资源ID:17226347      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17226347.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用NetBeans开发J2ME游戏实例讲解文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用NetBeans开发J2ME游戏实例讲解文档格式.docx

1、更多精彩请关注更多精彩请关注复选框。单击“下一步”。 选CLDC1.0 MIDP1.0,(4). 将 J2ME Wireless Toolkit 作为选定的目标平台。(5). 单击“完成”。IDE 将创建 $PROJECTHOME./HuaRongDao 项目文件夹。该项目文件夹包含所有的源和项目元数据,如项目 Ant 脚本。此时将在“项目”窗口中打开 HuaRongDao 项目。 (6). 现在,我们来添加一个MIDlet,右键单击项目,选新建MIDlet,名字为HuaRongDao,不要写package.点确定生成,然后在生成后的 代码里加入CommandListener支持,代码框架如下

2、:/* * HuaRongDaoMidlet.java * * Created on 2005年7月1日, 下午8:18*/import javax.microedition.midlet.*;import javax.microedition.lcdui.*;/* author lin* version*/ public class HuaRongDaoMidlet extends MIDlet implements CommandListener public void startApp() public void pauseApp() public void destroyApp(boo

3、lean unconditional) public void commandAction(Command c, Displayable d) 3. 开始编码(1)加入退出按钮,这里,我们用TextBox这种高级UI来做例子: private Display display; private final static Command CMD_EXIT = new Command(退出, Command.EXIT, 1);public HuaRongDaoMidlet() display = Display.getDisplay(this); public void startApp() Tex

4、tBox t = new TextBox(TextBox的第一个参数,TextBox的第二个参数,256,0); t.addCommand(CMD_EXIT); t.setCommandListener(this); display.setCurrent(mainList); . public void commandAction(Command c, Displayable d) if (c = CMD_EXIT) destroyApp(false); notifyDestroyed();注意:A.关于j2me的api函数,可以在WTK的docs目录当中查到。B.我们使用的是MIDP1.0的

5、函数,2.0支持游戏函数,但是大部分原先的手机都不支持。C.TextBox是可输入框,有标题,缺省内容和内容长度等参数。(2)创建一个处理图片的类Images, 处理图片的方式在2.0当中有了很大的改进,可以直接从一张图片中按照坐标取一部分,但是1.0还没有这个功能,所以我们使用Image数组来实现。首先,我们先来显示一个图片,来熟悉一下有关image的操作。首先,加入一个Image和包含它的ImageItem,因为Image本身不能显示,必须包在ImageItem中,然后创建一个Form,把ImageItem加到Form中,最后在屏幕上显示这个Form。 Image a; ImageItem

6、 i; Form props = new Form(测试页); try a = Image.createImage(/Duke.png i = new ImageItem(java吉祥物,a,ImageItem.LAYOUT_DEFAULT,图片无法显示 props.append(i); catch (IOException e) a = null; props.addCommand(CMD_EXIT); props.setCommandListener(this); display.setCurrent(props);编译运行一下,发现没有图片,说明或者是指定的图片位置不对或者是系统没有找到

7、,其中,createImage()中的文件路径是关于项目根目录/res/的,没有错,因此是系统没有找到res目录。File|HuaRongDaoproperty,选择Libraries and Resources,把res的完全路径加进去,再编译就可以了。好了,测试成功了,现在可以开始编写Images类,如下:/* author linpublic class Images /保存常量 /绘图位置常量 public static final int UNIT = 20;/方块的单位长度 public static final int LEFT = 20;/画图的左边界顶点public stat

8、ic final int TOP = 22;/画图的上边界顶点 /地图位置常量 public static final int WIDTH = 4;/地图的宽度 public static final int HEIGHT = 5;/地图的高度 /地图标记常量 public static final byte CAOCAO = (byte) a; /曹操的地图标记 public static final byte MACHAO = (byte) b/马超的地图标记 public static final byte HUANGZHONG = (byte) c/黄忠的地图标记 public sta

9、tic final byte GUANYU = (byte) d/关羽的地图标记 public static final byte ZHANGFEI = (byte) e/张飞的地图标记 public static final byte ZHAOYUN = (byte) f/赵云的地图标记 public static final byte ZU = (byte) g/卒的地图标记 public static final byte BLANK = (byte) h/空白的地图标记 public static final byte CURSOR = (byte) i/光标的地图标记 /地图组合标记

10、常量 public static final byte DLEFT = (byte) 1 /组合图形左边标记 public static final byte DUP = (byte) 2 /组合图形上边标记 public static final byte DLEFTUP = (byte) 3 /组合图形左上标记 /图片常量 /public static Image image_base;/基本图片 public static Image image_Zhaoyun;/赵云的图片 public static Image image_Caocao;/曹操的图片 public static Im

11、age image_Huangzhong;/黄忠的图片 public static Image image_Machao;/马超的图片 public static Image image_Guanyu;/关羽的图片 public static Image image_Zhangfei;/张飞的图片 public static Image image_Zu;/卒的图片 public static Image image_Blank;/空白的图片 public static Image image_Frame;/游戏框架的图片 public Images() /构造函数 public static

12、 boolean init() /初始化游戏中用到的图片 try 以下的实现都是基于MIDP2.0的,我们在程序中采用的是基于MIDP1.0的实现 image_base = Image.createImage(/huarongroad/BITBACK.png image_Frame = Image.createImage(image_base, 126, 0, 145, 177,Sprite.TRANS_NONE); /Sprite类是用来翻转图片的,是MIDP2.0新新增加的支持游戏的特性 image_Zhaoyun = Image.createImage(image_base, 0, 0,

13、 UNIT, 2 * UNIT,Sprite.TRANS_NONE); image_Caocao = Image.createImage(image_base, UNIT, 0, 2 * UNIT,2 * UNIT, Sprite.TRANS_NONE); image_Huangzhong = Image.createImage(image_base, 3 * UNIT, 0, UNIT,2 * UNIT,Sprite.TRANS_NONE); image_Machao = Image.createImage(image_base, 0, 2 * UNIT, UNIT,2 * UNIT,Spr

14、ite.TRANS_NONE); image_Guanyu = Image.createImage(image_base, UNIT, 2 * UNIT,2 * UNIT, UNIT,Sprite.TRANS_NONE); image_Zhangfei = Image.createImage(image_base, 3 * UNIT, 2 * UNIT,UNIT, 2 * UNIT,Sprite.TRANS_NONE); image_Zu = Image.createImage(image_base, 0, 4 * UNIT, UNIT, UNIT,Sprite.TRANS_NONE); im

15、age_Blank = Image.createImage(image_base, 1 * UNIT, 4 * UNIT,UNIT,UNIT,Sprite.TRANS_NONE); image_Frame = Image.createImage(/frame.png image_Zhaoyun = Image.createImage(/zhaoyun.png image_Caocao = Image.createImage(/caocao.png image_Huangzhong = Image.createImage(/huangzhong.png image_Machao = Image.

16、createImage(/machao.png image_Guanyu = Image.createImage(/guanyu.png image_Zhangfei = Image.createImage(/zhangfei.png image_Zu = Image.createImage(/zu.png image_Blank = Image.createImage(/blank.png return true; catch (Exception ex) return false;这里提一下图形格式,一般来说,MIDP1.0只支持png格式,而且对有些png还无法读取,因此在图片做好了以后

17、一定要测试一下,测试方法可以是用NetBeans的调试功能,在运行旁边有一个Debug .按钮,就是进入调试,可以在创建图形的语句处下端点,然后看能否成功。用NetBeans开发J2ME游戏实例讲解(二)58 | 作者:196 (3).建立Draw类用来显示图形:public class Draw /* Creates a new instance of Draw */ public Draw(Canvas canvas) public static boolean paint(Graphics g, byte img, int x, int y) /在地图的x,y点绘制img指定的图片 pa

18、int(g, img, x, y, Images.UNIT);/把地图x,y点转化成画布的绝对坐标,绘图 catch (Exception ex) public static boolean paint(Graphics g, byte img, int x, int y, int unit) switch (img) case Images.CAOCAO:/画曹操 /变成绝对坐标,并做调整 g.drawImage(Images.image_Caocao, Images.LEFT + x * unit, Images.TOP + y * unit,Graphics.TOP | Graphics

19、.LEFT); break; case Images.GUANYU:/画关羽 g.drawImage(Images.image_Guanyu, Images.LEFT + x * unit, case Images.HUANGZHONG:/画黄忠 g.drawImage(Images.image_Huangzhong, Images.LEFT + x * unit, case Images.MACHAO:/画马超 g.drawImage(Images.image_Machao, Images.LEFT + x * unit, Images.TOP + y * unit, Graphics.TO

20、P | Graphics.LEFT); case Images.ZHANGFEI:/画张飞 g.drawImage(Images.image_Zhangfei, Images.LEFT + x * unit, case Images.ZHAOYUN:/画赵云 g.drawImage(Images.image_Zhaoyun, Images.LEFT + x * unit, Images.TOP + y * unit, Graphics.TOP | Graphics.LEFT); case Images.ZU:/画卒 g.drawImage(Images.image_Zu, Images.LEFT + x * unit, case Images.BLANK:/画空白 g.drawImage(Images.image_Blank, Images.LEFT + x * unit, case Images.CURSOR:/画光标 g.drawRect(Images.LEFT + x * unit, Images.TOP + y * unit,Images.UNIT,Images.UNIT);(4)建立Map类来读取布局信息:package HuaRongDao;import java.io.InputStream;public class Map /处理游戏的地图,负责从外部

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1