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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

J2ME 2D小游戏入门之旅.docx

1、J2ME 2D小游戏入门之旅J2ME2D小游戏入门之旅(一)游戏的框架 录入者:admin |时间:2006-05-19 17:36:25 | 作者: | 来源: | 点击数:213 上一篇 下一篇favoyang 转载请联系作者响应站长mingjava的号召,我也和大家一起分享一下我的经验,希望大家指教。同时 欢迎各位高手的原创文章。前几天看到tony在csdn上发布自己的学习作品“是男人就坚持60s”,觉得创意虽然简单但是却很耐玩,是学习手机游戏制作的入门经典,于是一时兴起,clone了一下,图片依然使用的是tony的图片,纯粹学习之用。如果大家对这个游戏感兴趣可以与tony联系或访问他的

2、blog。从发展趋势上说midp2.0是趋势,最便宜的midp2.0手机如ot735i,已经1700元左右;而西门子一年前的高端机cx65,现在也只有2500左右;并且2500-3000这个价位的midp2.0手机有多种选择,西门子、se、N机都有。我个人挺喜欢cx65,如果将来手机制造商成本不断降低,相信1500元的midp将不是梦当然还要看应用是否丰富了。 言归正传,我们将使用midp 2.0 来开发我们的游戏,代号fly。开发工具jbulider。等文章全写完了,会提供src下载。目录:一、游戏的框架二、完善周边工具类(图象、GameObject、Font)三、控制飞机的移动四、加入子弹

3、群,实现碰撞运算五、实现爆炸效果、并加入道具导弹六、不足多多,你认为呢?七、源码一、游戏的框架我们的游戏需要一个通用的游戏框架,也方便以后的开发,但实现一个引擎是复杂的。作为初学者如果要你考虑太多的问题,恐怕会让你偏离主线,这里只给出canvas的代码,不理解可以参看本站的另外一篇系列文章使用MIDP2.0开发游戏。public class MyGameCanvas extends GameCanvasimplements Runnable, CommandListener private static MyGameCanvas instance; Graphics g; boolean ru

4、nning; Thread t; Command startcmd,exitcmd,restartcmd; int keystate; boolean keyevent; boolean key_up,key_down,key_left,key_right,key_fire; private boolean allowinput; public int screenwidth; public int screenheight; boolean gameover; /define your variable here /define your variable end protected MyG

5、ameCanvas() super(true); g=getGraphics(); running=false; t=null; addCommand(startcmd=new Command(start,Command.OK,1); addCommand(exitcmd=new Command(exit,Command.EXIT,1); setCommandListener(this); screenwidth=getWidth(); screenheight=getHeight(); /put your init once code here/put your init once code

6、 end synchronized public static MyGameCanvas getInstance() if (instance = null) instance = new MyGameCanvas(); System.out.println(new MyGameCanvas); return instance; public void run() System.out.println(MyGameCanvas run start); long st=0,et=0,diff=0; int rate=50;/16-17 frame per second while(running

7、) st=System.currentTimeMillis(); gameinput(); gameMain(); et=System.currentTimeMillis(); diff=et-st; if(diffspeed) animcount=0; sprite.nextFrame(); if(lifetime!=0 & +lifecountlifetime) alive=false; public void paint(Graphics g)/Paint if(!alive) return; sprite.paint(g); public void reset()/复位 alive=t

8、rue; lifecount=0; animcount=0; sprite.setFrame(0); 3.封装字体类,你需要漂亮的字体吗? 我们经常需要用图片来输出文字,一个方便的字体类是必须的。我们希望仅仅提供一个图片,一个图片所描述的字符的数组,来初始化一个字体类。字体类提供一个类似Textout的方法,方便得在一个位置输出信息。先封装一个简单的版本,只支持英文和数字,并且输出不能自动换行。可能你有一个简单的思路,就是简单的保存字符数组,当打印的时候遍历数组,来查找每个字符在sprite的frameseq中的index,但当我们打印一个字符串的时候就会发现,太多的遍历操作耽误了宝贵时间,这

9、里我们使用一个小技巧用容量换取速度,我们知道Character. hashCode()可以返回字符的ascii编码,常用字符将返回1-127;利用这一点,我们开辟一个128的数组charhash,将输入的字符c所在图片index存入charhashc. hashCode()中。以后也用这种映射方法来读取字符。charhash的元素初值为-1,以后只要数值大于0就是有效值。public class Font Sprite sprite; /Sprite int width,height; /每个char的尺寸 int charhash; /储存1-127个常见字符在sprite的frameseq

10、中的位置 Graphics g; public Font(Graphics g,Image img, int width, int height, char chars) this.g=g; sprite=new Sprite(img,width,height); this.width=width; this.height=height; charhash=new int128; for (int i = 0; i charhash.length; i+) charhash=-1;/没有代表此字符的图片 Character c; for (int i = 0; i =0) sprite.set

11、Frame(charhashhashcode); sprite.paint(g); public void drawString(String str, int x, int y) int length=str.length(); for (int i = 0; i length; i+) drawChar(str.charAt(i),x+width*i,y); 这样只要有一个实例font,就可以调用font.drawString(“hello”,0,0);在0,0位置输出漂亮的图片字符串。怎么样还挺好使的吧:)J2ME2D小游戏入门之旅(三)控制飞机移动 录入者:admin |时间:2006-05-19 17:36:32 | 作者: | 来源: | 点击数:168 上一篇 下一篇三、控制飞机的移动 实在是等不及了吧?加把劲,让我们加入游戏的主角飞机吧。你可以将这个游戏定位在动作游戏,一个动作游戏需要不断的从用户端获得输入,基本上不间断,所以plane需要不断的改变位置。那么这个基于桢的游戏应该定在多少桢合适呢?这需要在手机中测试,在模

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

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