欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

j2me手机游戏结构分析和实际小例子系列一 游戏背景和游戏精灵

发布时间:2024/1/17 编程问答 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 j2me手机游戏结构分析和实际小例子系列一 游戏背景和游戏精灵 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
j2me手机游戏结构分析和实际小例子 一        这段时间一直在忙java的事情,一直在学习用j2me做手机游戏。虽然说我是.net开发人员,但是java语言在很多地方上确实有用于c#的地方(我说的这个地方不是指使用语言的人多少),而是说java有很多架构,体系设计,软件架构方面的实例都远远多于c#,对于一个喜欢软件工程的人来说(呵呵当然是在说我自己),即使是做c#开发的,java语言也要知道,因为很多软件工程方面的问题还都是java语言的。哈哈,我能够将更多的java使用理念和设计思想用到c#中去,也是对我.net开发有很大很大的帮助。这些帮助绝不是单单写几年代码就能磨练出来了哦。        在此之前我先说几句话铺垫一下。我之前开发的程序都是C/SClient/Server)和B/SBrowser/Server)这两种架构的程序,也就是大家熟知的客户机和服务器结构。这两种模式的开发在软件设计上也这很多的区别,甚至架构上也有一定区别,谁让状态式设计和内容式设计是有区别呢?我一直都是针对这两种模式设计架构和设计软件架构,从来没有涉及到内嵌式语言的软件设计,这次j2me手机游戏的开发让我在软件设计上有了新的认识。世界真大呀!        好了上面说了那么多废话,现在进入这次的主题。我们先来看一个图: <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />        上面这个图是我看了一个网页之后总结出的,首先我们先将一个游戏分解成几个部分,这个分解是一种纵向的组件分解说明,不是软件结构。        MIDlet是整个游戏的入口,一个游戏包括6个纵向组件:控制、角色、声音、场景、道具和时间监听机制列个部分。现在我想到的是这六个,只所以用纵向组件来分解是为了方便扩展新组件。        还有一个手机游戏的软件体系结构图:               这个图是来源于一个博客,在这里面我们能够清楚的看到一个手机游戏软件的完整结构。分成相关业务和通用核心两个部分,在相关业务里面包涵与本次开发相关的内容,比如图片资源、道具、扩展部分等等。核心部分是所有游戏通用的apis比如虚拟机、异常处理、io包、lang包、主线程管理等等。        看过了上面两个图和其相关说明,我来说明一下我的设计结构,首先说明一下,我是一步一步进行,我现在的程序目的是实现一个背景填充,在将一个角色,放在背景图片中去。如图:        现在这个只是用到了游戏场景和游戏角色两个组件。我的程序结构设计如上图。要想实现一个目标程序,首先DIMlet是必不可少的,此外我还需要一个gamecanvas对象,和游戏场景、游戏角色,共四个部分。在这次的实现中,仅仅需要这四个对象。gtMIDletMIDlet的子类,是整个系统的入口,放在program中,调用MyCanvas对象(是GameCanvas的子类),又来运行游戏,myCanvas是游戏的核心对象,放在CoreClasses包中。MyLayer是填充背景对象 (LayerManager的子类),专门用来绘制背景图片。PlayerSpriteSprite的子类,最后一个是游戏角色的对象,也放在CoreClasses包中,他调用ImagesManage中的对象获得图片。好,现在我们这次说的四个主要对象都已经依依显示出来了,现在我们来看一下基本类图系,如图: 当然,为了省事情还可以提炼一些通用的对象,比如说填充地图可以灵活一点,这当然是根据大家的需要自己可以封装。        整个设计就到此是一个段落了。这是第一个实践过程,,很简单一个背景和一个角色而已,并且不能动,对于这个系列我还会继续向下进行。在文章的附件中我会把图加上,看不清楚的朋友可以下载看看。

转载于:https://blog.51cto.com/realzjy/178050

总结

以上是生活随笔为你收集整理的j2me手机游戏结构分析和实际小例子系列一 游戏背景和游戏精灵的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。