j2me设计论文--趣味搬运工内容摘要:
midlet,map)。 sprite=new PushSprite(map)。 gameState=GAME_LOGO。 new Thread(this).start()。 } Layer类 Layer类是一个抽象类,代表了界面的一个基本显示单元。 每一个 Layer都有位置、大小、可见性等属性,以及更改这些属性的方法。 我们并不直接使用 Layer类,而是使用它的两个子类 ——Sprite类和 TiledLayer类。 LayerManager类 LayerManager类负责管理 Layer,并通过按照一定的顺序在画布上进行来实现分层次的自动渲染。 LayerManager还提供了一个可视窗口的概念( View 本科课程设计论文 11 window),因为游戏地图往往比界面画面大很多,通过设定当前可视窗口的大小和位置,可以 轻松地实现滚屏等常见效果。 protected void destroyApp(boolean arg0) throws MIDletStateChangeException { saveGame()。 notifyDestroyed()。 } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { } void saveGame(){ byte[] tmp。 ByteArrayOutputStream bais = new ByteArrayOutputStream()。 DataOutputStream dos = new DataOutputStream(bais)。 try { RecordStore rs = (temp1, true)。 ()。 lvtmp=lvtmp?:lvtmp。 (lvtmp)。 (save lv +lvtmp)。 (gaotmp)。 (save t1+gaotmp)。 tmp = ()。 if(()==0){ (tmp, 0, )。 }else{ (1, tmp, 0, )。 } ()。 } catch (Exception e) { 本科课程设计论文 12 ( save error1)。 } try { ()。 } catch (IOException e) { ( save error2)。 } tmp=null。 } void readGame(boolean b){ byte[] tmp。 try { RecordStore rs = (temp1, true)。 if(()==0){ }else{ tmp=(1)。 ByteArrayInputStream bais = new ByteArrayInputStream(tmp)。 DataInputStream dis = new DataInputStream(bais)。 =()。 lvtmp=()。 (lvtmp)。 gaotmp=()。 (gaotmp)。 if(b) =lvtmp。 (read+)。 ()。 ()。 } } catch (Exception e) { (readgame error)。 } } } 本科课程设计论文 13 Sprite类 Sprite类是 Layer的一个子类,它面上的意思是 “精灵 ”。 这是一个游戏开发的专有名词,代表了界面上一个基本的可视单元。 这个词早在红白机 1之前的游戏开发中就被使用了,并沿用至今。 例如,在一个追逐游戏中可能有两个 Sprite对象:猫和老鼠。 一个 Sprite对象一表会包含好几帧画面,按照一定的顺序和频率显示这些帧来实现动画的效果。 Sprite类还提供了画面的翻转、旋转及简单的碰撞检测等。 public class PushSprite { static int sec,min。 int curFrame。 Image spriteImage。 int i=0。 int x1=0,y1=0。 static int sx,sy,spriteX,spriteY。 int tsx,tsy。 int tm,tn。 final static int UP = 0。 final static int DOWN = 1。 final static int RIGHT = 2。 final static int LEFT = 3。 Sprite sprite。 PushMap map。 static boolean istrue。 public PushSprite(PushMap map) { =map。 initSprite()。 } void initSprite(){ try { spriteImage=(/src/)。 } catch (IOException e) { (load sprite image error!)。 } sprite = new Sprite(spriteImage,16,16)。 } // 根据按键状态改变精灵的位置和箱子位置, 本科课程设计论文 14 void logic(){ //游戏记时只有在 RUN状态下记时,其他状态暂停 if(==){ =(())。 if(999){ =()。 sec++。 if(sec59){ sec=0。 min++。 } } //初始化 游戏 MEUN指针 i=0。 //把精灵坐标转化地图块坐标 sx=spriteX/16。 sy=spriteY/16。 int x=0,y=0。 if(){ x=1。 y=0。 }else if(){ x=1。 y=0。 }else if(){ x=0。 y=1。 }else if(){ x=0。 y=1。 } TiledLayer类 TiledLayer类是 Layer的另一个子类。 Tile也是二维游戏开发的一个经典词汇。 你可能听说过基于砖块的游戏这一提法,它的思想是把界面的背景画面划分成一个二维的表格,并使用不同的图像砖块去填充它。 这样,只要用几个不同的图像砖块就可以组 合出很大的图片,而所占的资源空间仅仅为原先的几十分之一甚至更小。 实现一个健壮的 Tile 类需要花费一些成本,幸运的是 TiledLayer 就是基于 本科课程设计论文 15 Tile 的地图的一个很好的实现。 使用它可以方便地构建起美观的游戏地图。 // 过关后 按中软键进入下一关 if(amp。 ){ (true)。 =false。 ()。 }else if(amp。 ){ =。 } //切换到游戏 MEUN if(amp。 amp。 !amp。 amp。 !){ =。 } //游戏退步 if(amp。 amp。 istrue){ spriteX=tsx。 spriteY=tsy。 (tsy/16+x1,tsx/16+y1,x1,y1)。 } === ====false。 // 说明: 1—障碍 2地面 0箱子终点 3箱子 4人物初始 // 前面是障碍时跳出 if([sy+x][sx+y]!=1){ // 在推箱子 if([sy+x][sx+y]==3){ //同时推两个箱子时跳出 if([sy+x*2][sx+y*2]==3) return。 //推箱子前面是障碍时跳出 if([sy+x*2][sx+y*2]==1) return。 //调用方法使箱子移动 (sy+x,sx+y,x,y)。 //保存最后一次箱子移动坐标 tsx=spriteX。 tsy=spriteY。 x1=x。 y1=y。 istrue=true。 } 本科课程设计论文 16 spriteX=spriteX+16*y。 spriteY=spriteY+16*x。 } 3 设计 总 结 课程设计是学习完该课程后进行的一次较全面的综合练习。 其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java 语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力, 提高学生的 应用 能力。 在本次编程过程中,使我收益非浅、收益良多,在同学的帮助下才能够顺利的编程工作才得以如期完成, 同时也非常感谢老师的悉心指导,我一定会继续努力。 参考 文献 [1] 柴诚敬,刘国维,李阿娜,《化工原理课程设计》,天津,天津科学技术出版社, 1994 年 6 月 [2] 杨建, 杨军,《精通 J2ME 嵌入式软件开发》,北京,电子工业出版社, [3] 詹建飞,《 J2ME 开发精解》,北京,电子工业出版社 [4] 温尚书,《 J2ME 无线通信实用案例教程》,北京,清华大学出版社, 2020 年10 月 . [5] 崔忠折 .金属学及热处理 .机械工业出版社, 1989: 6098 本科课程设计论文 17 附录: 程序源代码 //GameMidlet 类 package src。 import。 import。 import。 import。 import。 import。 import。 import。 import。 public class GameMidlet extends MIDlet{ PushMusic music。 static。j2me设计论文--趣味搬运工
相关推荐
5 开发与实现 开发环境 (1)硬件环境(服务器端和客户端) (2)软件环境 Win2020 advanced server 2020+++SQL server 2020 系统总体方案的设计与实施 (1) 网 站内容规划 (1)域名: (2)网页规划 6133 站点的网页设计应简洁、美观,界面应与书店形象相符,网页大小有所限制,网页必须响应及时,可以采用多种浏览器浏览,便于检索
需要。 软件方面,编程的软件以及 Web 服务器等均已具备,并且环境变量已经搭好,数据库用 MySQL存储大量的数据, MySQL 开源化,目前已经很成熟,在灵活、安全和易用方面均能提供良好的支持。 因此,系统的软件开发平台已经成熟可行。 设计目标 在线考试系统的总体目标: 1. 本系统提供给管理员类用户 、教师类用户 及学生类用户使用。 不同的用户类型所能完成的功能不同。 管理员类用户可以
nitialColor),其中参数 Component 指定对话框所依赖的组件,即文本编辑器中的文本区 area, title 指定对话框的标题“调色板”, initialColor指定对话框返回的初始颜色,即对话框消失 后,返回默认值。 三、 建立 Choice下拉列表实现对字体的设 计 Choice list。 GraphicsEnvironment ge=()。 String
(img1, 0,0,(),(),0,0, 0,|)。 (img2, 0,0,(),(),0,40, y,|)。 ( 开始游戏 , 70, 50, 0 )。 ( 退出游戏 , 70, 80, 0 )。 break。 case 1: (img, 0,0,(),(),0,0, 0,|)。 (img2, 0,0,(),(),0,40, Ly,|)。 (简单 , () / 2 15, () / 2 30
K 测量工程沿线和各工点的局部地形,一个基准站可同时为多个流动站工作,因此,可分三个小组同时展开地形测绘工作,而且大多数地形测绘仅通过这项技术就能完成。 本工程测点位于城乡结合部中,并有大量高压变电线路,因此测量时 GPS信号受到严重阻碍,因此测量中我们采用 RTK 技术与全站仪相结合的方法来进行桩位放样。 这样可以利用 RTK 技术对所需图和点进行测设,再通过全站仪测量碎部。
量 m3/h 5500 6000 6500 7800 9000 电机 传动方式 皮带传动 功 率 kW 机外余压 低 静 压 Pa 120 150 150 180 180 普通静压 Pa 200 250 250 280 280 高 静 压 Pa 330 350 350 380 380 噪声 低 静 压 dB(A) 56 58 59 61 62 普通静压 dB(A) 58 60 60 62 63