基于java的吃豆子小游戏开发.doc

上传人:文库蛋蛋多 文档编号:2589497 上传时间:2023-02-20 格式:DOC 页数:46 大小:814KB
返回 下载 相关 举报
基于java的吃豆子小游戏开发.doc_第1页
第1页 / 共46页
基于java的吃豆子小游戏开发.doc_第2页
第2页 / 共46页
基于java的吃豆子小游戏开发.doc_第3页
第3页 / 共46页
基于java的吃豆子小游戏开发.doc_第4页
第4页 / 共46页
基于java的吃豆子小游戏开发.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《基于java的吃豆子小游戏开发.doc》由会员分享,可在线阅读,更多相关《基于java的吃豆子小游戏开发.doc(46页珍藏版)》请在三一办公上搜索。

1、学号: 常 州 大 学 毕业设计(论文)(2012届)题 目 学 生 学 院 专业班级 校内指导教师 专业技术职务 校外指导老师 专业技术职务 二一二年六月基于java的吃豆子小游戏开发摘 要:在现今电子信息高速发展的时代,电子游戏已经深入人们的日常生活,成为老少皆宜的娱乐方式。吃豆子游戏是一款具有活动元素的经典游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。自1980年 Namco(南梦宫)发布吃豆子这款游戏后,20余年一直被众玩家传玩着,经久不衰。它看似简单但却变化无穷,令人上瘾。现在联众又将重新掀起这股让人沉迷的吃豆子游戏的风潮。对一般用户来说,它的规则简单,容易上手,

2、且游戏过程变化无穷。本论文主要介绍如何利用图片工具Photoshop7.0,Java语言编程环境JDK,游戏开发平台Eclipse和音乐转换工具Winamp以及如何使用这些工具实现吃豆子游戏的游戏总体及构成模块。吃豆子游戏总体是有界面、控制和音乐三个主要部分组成。吃豆子游戏的界面分为图片制作和位图载入两方面。图片采用了整体界面图片制作和区块图片制作两种方法。位图的载入是使用游戏库中的画图精灵实现的。画图精灵除了可以载入位图,还可以让界面产生图层效果;吃豆子游戏中的控制方法分为键盘控制和定时器控制两种。键盘控制是由玩家从键盘输入控制命令对游戏进行控制,而定时器控制是使用定时器对游戏进行时间控制。

3、键盘控制包括游戏的开始与退出控制、游戏菜单的选择与确定控制和吃豆者的行动方向控制。定时器控制包括吃豆者的持续移动控制、道具的出现时间控制和道具有效时间的控制。在游戏音乐方面,分为背景音乐和特殊音效两种。背景音乐使用了循环播发模式,特殊音效使用了触发播放模式。关键词:Java 游戏开发 画图精灵Based on the Java Pac-Man developmentAbstract:In the current of rapid development of electronic information, electronic games have become an important pa

4、rt of peoples daily life. It has been a popular form of entertainment for all ages. Pac-man game is a classic game with elements of activity. It has caused the economic value, which can be said to be a great thing in the history of games. Since 1980, Namco had released Pac-man game, more than 20 yea

5、rs the game has been always playing by all players. It seems easy but changeable and addictive. Now many people turn too re-set off this addictive Pac-man game wave. For the average user, its rules are simple, easy to use, and the game process is changing. Main of this thesis is introduction how to

6、install the picture manufacture tool Photoshop7.0, Java language be written program environment JDK, game development environment Eclipse and music conversion tool WINAMP. And how use theses tools to realize PAC-MAN games total and its constitute parts. The game is divided into three parts: interfac

7、e part, control part and music part.Interface part is divided into picture manufacture and picture loaded in. Picture manufacture adopted the whole interface picture manufacture method and square piece picture manufacture method. Picture loaded in is using allegros DRAW_SPRITE complete. Control part

8、 is divided into keyboard control and timer control. Keyboard control is player use keyboard control the game. Timer control is the game was controlled by timer. Keyboard control included include the games start .The games withdraw, the menus control of the game and the directions control of Pac-man

9、. Timer controls include Pac-mans Keep on move. At the music pare, It is divided into the background music and special sound effect. The background music used to circularly sowed the hair mode, special sound effect to use to trigger to broadcast the mode. Key words: Java the game development DRAW_SP

10、RITE目录摘 要I目 录III 1 引言11.1 课题研究的背景11.2 国内外研究现状与发展趋势21.3课题的意义及目的32可行性研究42.1设计的目的42.2 本设计的问题定义42.3可行性分析42.3.1技术可行性42.3.2操作可行性53.设计所用软件及环境53.1 Java语言简介53.2 Eclipse基础73.3 JDK环境93.4 Applet基础104需求分析154.1游戏需求154.2编程环境需求154.3 接口控制165.概要设计175.1游戏模块划分175.2游戏流程图185.3游戏地图算法流程图195.4 游戏音乐算法流程图206详细设计216.1主界面设计216.

11、2本游戏的模块设计246.2.1墙体绘制模块设计246.2.2豆子绘制模块设计256.2.3吃豆者的绘制模块设计266.2.4敌人绘制模块设计276.2.5 移动控制模块设计306.2.6水果模块设计316.2.7 HTML文件引用模块设计336.3音乐播放和墙体图片设计336.3.1音乐播放设计336.3.2游戏地图设计346.4游戏界面截图347软件测试367.1 吃豆子游戏的测试内容367.2吃豆子游戏的测试步骤367.3吃豆子游戏的测试项目387.3.1游戏界面菜单选项的功能测试397.3.2按键事件的功能测试397.3.3无敌状态测试407.4测试结果分析418总结41致谢41参 考

12、 文 献421 引言1.1 课题研究的背景电脑已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了花样繁多的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。Java语言的出现迎合了人们对于应用程序跨平台运行的需要,已成为软件开发者应该掌握的一门基础语言,很多新的技术领域都涉及到了Java语言。目前无论是高校的计算机专业还是IT培训学校都将

13、Java1作为主要的教学内容之一。 随着计算机技术的不断发展,网络技术的普及范围越来越广,网络能够提供的服务多样、便捷,已经成为人们生产生活中不可缺少的重要组成部分。如今网络休闲游戏发展迅速,它凭借健康、方便、互动性强、益智等诸多优点,成为大部分现代人休闲娱乐的首选。由此游戏是人们活动中一项非常重要的内容,可见电脑对游戏就有了非常大的贡献。现在摸过电脑的人很少有没玩过电脑游戏的,喜欢游戏的人也很少有不玩电脑的。吃豆子有是一款风靡全球的电脑游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭

14、不想的那个吃豆子游戏时代。究其历史,吃豆子游戏最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。现在联众又将重新掀起这股让人沉迷的吃豆子游戏风潮。对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而现在的网络模式还增加了积分制,使用户既能感受到游戏中的乐趣,也给用户提供了一个展现自己高超技艺的场所。吃豆子游戏可以说是随计算机的发展而发展,并不断推陈出新演变出各种类似游戏, 深受广大玩家喜爱。这个游戏有的简单, 有的复杂, 但其根本原理是一样的都是由运动的吃豆者和敌人互相追赶组成的, 这款游戏可以训练玩家的反应能力。谈到游戏软件, 大多数人都认为其神妙莫测, 高不可及

15、。而一般游戏软件也确实具有很高的技术难度, 随着开发工具及软件开发方法学的不断发展, 动手开发游戏也不是十分困难的。而本设计中的吃豆子游戏是使用Java语言开发的一款游戏。它使用SOCKET2建立连接,多线程处理数据,以及可嵌入网络浏览器的ALET作为客户端,这些特点使这款游戏无论是服务器还是客户端的实现都相对容易。通过对该软件的编写,还可以巩固我们对以上各种知识的掌握和理解。1.2 国内外研究现状与发展趋势2012年,小游戏绝对是一个热门的话题,因为小游戏具备太多的特点:它单机硬盘小游戏、文件体积小、内容简单、游戏关口少、易玩、好玩、易智15;它的网站设计和制作针对不同人有不同的设计。针对青

16、少年来说,它设计的界面颜色清晰和谐、文字简单明了、线条分割有序、图片短小精悍、导航明晰简便、内容充实丰富;针对上班族来说,它设计趋向于颜色舒适、易智、休闲等;针对手机一族,它会设计成针对不同手机型号有不同的版本。现在对于编程爱好者还会有网站免费为他们提供一些游戏编程的素材(语音、文字、图片、视频文件等),必要时可提供一些源代码。并且还会开设论坛,对他们进行必要的培训,同时可以从中吸收一些优秀人员。因此小游戏容易得到推广。在中国,网页小游戏是有很大市场的。它最大的优势在于消磨时间,不需要下载客户端,有空上去看一下就成,非常方便,在收费方面也采用典型的道具收费,购买后可能是游戏加速,也可能是配备非

17、常强大的装备或者更换更强劲的职业,应有尽有。但网页小游戏也有其局限,由于它的功能模块是交给服务器来实现的,版本更新交给服务器来做,多数缺点是表现力差,很多小游戏模式在实际中都无法实现(主要是服务器负荷问题)等。在国外网页游戏游戏的黏人程度是远远超过一般网站。媒体报道,据美国市场研究机构Parks Associates近日公布的一份报告称,尽管网络视频和社交网站非常流行,但网页游戏仍然是美国网民最喜爱的娱乐方式。据数据显示,34%的美国成年网民每周都会玩网页游戏,而观看YouTube等视频网站的比例为29%,访问MySpace和Facebook等社交网站的比例为19%。所以网页小游戏在国外也占有

18、一席之地。近年来,网页游戏越来越有着这样一个趋势,就是由FLASH技术向Java技术的转变。 如国外的RunesCape刚开始它是将 Java程序下载到用户硬盘中,再从本地中进行打开,但是随着Java语言被web3广泛接受后,现在的浏览器均支持Java Applet,因此用户也可以在网页上运行RunesCape。至此,不得不感叹Java程序在网页游戏中应用的强大而广泛,也看到网页游戏在向着Java技术的方向大步迈进,并且已经收到了比较明显的成效。相关资料显示,2011年中国网页游戏的用户规模为250万人,艾瑞咨询预计未来用户规模将达到900万人,同比增长260%。保守估计,随后的三年中网页游戏

19、的用户以每年500万人左右的速度增长,预计到2012年将突破2000万人,达到2020万人。网页游戏新产品不断面世,目前业内人士普遍看好网页游戏的发展前景。与11年相比,12年国内的网页游戏用户翻了2-3番。网页游戏进入门槛较低,吸引许多中小型团队加入研究和运营的行列。运营商与产品数量的急剧增加充分调动了整个网游市场,从而形成成倍增长的良好态势。因此中国网游市场之大,潜力之足,用户群之广,只有研发适合中国用户的产品才能扩大目标用户群,才能在这块市场里占据一席之地。在此有理由相信,在中国乃至全球网游的未来发展中,网页游戏从其重返网游市场之始,就已经注定了它在网游市场中必定占有一席位置,而以Jav

20、a为核心技术的必定是网页游戏未来发展的重头戏。1.3课题的意义及目的随着人们生活质量的不断提高以及个人电脑和网络的普及,人们的业余生活质量要求也在不断提高,选择一款好玩,精美,画面和音质,品质优良的休闲游戏已经成为一种流行的休闲方式。可以说在人们的日常生活中,除了工作、学习,玩一款自己喜欢的游戏正在成为一种时尚。所以,开发出一款大家都比较喜欢的,高品质的休闲互动游戏,将会受到人们的普遍欢迎。让人们在工作学习之余,享受游戏的快乐,也是一款游戏真正成功的意义。目前,各种各样的游戏层出不穷,利用各种语言编写的游戏也数不胜数,那么选择一个好的语言来编写游戏则显得尤为重要。那么,作为休闲互动游戏的先导语

21、言Java当然成为首选。Java语言能在企业中应用这么多年,事实证明了它非常适合于开发大型软件。当Java的运行效率不再是问题的时候,Java4语言严谨、高抽象、可读性强的优势就体现出来了。使用Java作为平台,极大的方便了游戏脚本的使用。对于游戏开发来说,由于涉及到比较复杂的情况,开发过程很多时候是一个不断修改的过程,可以方便的修改游戏内容是十分关键的。对于很多游戏引擎来说,都有自己编写的脚本解释器,用来解释一些自定义的游戏脚本语言。由于其虚拟机特性,Java本身就可以用来编写游戏脚本,这极大的方便了Java游戏编程。通过Java语言来开发的游戏具有可以在一个本地桌面系统下运行,也可以在玩野

22、下运行的功能。吃豆子游戏是一种古老而又有趣的游戏, 游戏软件不计其数, 网上就有好多关于实现的复杂算法和设计, 其难度让一般初学者望而却步。本课题就是利用数组作为地图的数据结构,提出一种用Java5语言实现的简易方法, 对初学者可仿此开发类似游戏, 并了解游戏软件的设计与开发过程。而通过这些开发的出来的吃豆子游戏是一种内容丰富,画面优美,益智类游的戏,并且不受网络的限制,让人们能够在任何时刻通过体验游戏,达到身心愉悦、放松心情。本课题的目标是通过对本游戏的设计,综合自己在校期间所学的理论知识,设计开发吃豆子游戏,并使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握

23、软件工程的系统理论,进一步巩固和加强自身对java基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。吃豆子游戏是基于以上目标而开发的。该游戏的最重要的目的是供用户休闲娱乐、益智有趣。本游戏的主要特点是:使用范围广,操作简单,无网络限制等。2可行性研究2.1设计的目的通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发吃豆子游戏,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对java基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。2.2 本设计的问题定义基本要求:本游戏开发的总

24、体任务是实现游戏的可操作性,以及界面的美观性。整个开发过程遵循软件工程规范,采用Java Apple6t编程来实现界面以及事件的控制,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,通过菜单栏中的相应菜单选项实现游戏的开始、结束、变换方向、积分等功能。目标:通过本游戏的开发,主要实现游戏的可操作性以及美观性,同时使自己对Java语言的了解更进一层,为将来的实际工作打下坚实的基础。条件、假定和限制:由于知识以及能力的限制,本游戏所实现的功能不够强大,可对本游戏进行改善,从而增强游戏的功能。评价尺度:由于本软件是一个初级产品,对其要求不是太苛刻,所以能够达到吃豆子游戏的一般功能即可。2.3

25、可行性分析2.3.1技术可行性面向对象是一种认识世界的方法,是一种程序设计方法。面向对象的观点认为,客观世界是由各种各样的实体,即对象组成的。每种对象都有自己的内部状态和运动规律,不同对象间的相互联系和相互作用就构成了各种不同的系统,并进而构成整个客观世界。按照这样的思想设计程序,就是面向对象的程序设计。面向对象的程序设计吸取了结构化程序设计的先进思想,并把它们同几个支持用户用新方法进行程序设计的有力概念结合在一起。所有面向对象的程序设计语言一般都包含三个概念:封装、多态性和继承性。这种方法要求语言必须具备抽象、封装、继承和多态性这几个关键要素。面向对象的程序设计,是通过数据和代码建立分块的内

26、存区域,以便提供对程序进行模块化的一种程序设计方法,这些模块可以被用作样板,在需要时再建立其副本。C+7和Java在面向对象这方面比VB要强,所以我排除了用VB做的可能性。但是C+主观上在校期间学校并没有这方面的授课内容,虽然自学了一些内容,对C+也有一定了解,但是若用C+实现,必定是基于windows8应用程序的Visual C+设计,对于windows编程,我还有待提高,而根据课题要求Java Applet能够满足网页小应用游戏的设计要求的掌握,因此综合考虑,决定采用Java语言编写吃豆子游戏。2.3.2操作可行性本课题设计的游戏需要在页面上打开,由此我们选择使用Java Applet来编

27、写吃豆子游戏的代码。同时,选择Eclipse为本课题的开发工具是因为它含有大量的开发爱好者为其开发新的插件。前几种主流IDE的功能差别并不算大,针对不同的应用需求,开发者会选择最适合当前应用需求的开发工具来进行开发,实际上大多数的需求并没有对IDE提出太多的要求,既然Eclipse功能并不比别的IDE差,而且它是免费的。Eclipse集成了不同的软件开发工具产品,用户可以通过相同的接口使用不同的开发工具,这样以针对开发者自身的具体情形定制自身开发需要的工具,将更有利于本课题的开发。3.设计所用软件及环境3.1 Java语言简介a) Java语言的历史Java的诞生主要得益于对家用电器的芯片的研

28、制。开始时,开发者想用C+语言来开发电器的芯片,但是,由于芯片的种类各不相同,因此,程序要进行多次编译。尤其是C+中的指针操作,稍有不慎,就会引起问题。程序可以出错误,但是家用电器不能出错误。为此,开发者将 C+9语言进行简化,去掉指针操作,去掉运算符重载,去掉C+中的多重继承,得掉了Java语言,将它变为一种解释执行的语言,并在每个芯片上装上一个Java语言虚拟机。刚开始时Java语言被称之为Oak10语言(橡树语言)。WWW(万维网)的发展则进一步促进了Java的应用。刚开始时,WWW的发展比较缓慢,每个网页上面都是静态的画面,不能与用户进行动态交互操作。即使是后来的CGI(通用网关接口)

29、也只有在服务器端运行,速度太慢,人们迫切需要能够在浏览器端与用户进行交互,并且使画面能够动起来,但是,WWW上的计算机各种各样,操作系统也是千差万别,后来人们想到了Oak语言,他是解释型执行语言,只要每台计算机的浏览器能够有他的虚拟机,Oak语言语言就可以运行,因此Oak语言发展起来,后来改名为Java语言,成为当前网络的流行的开发语言。Java语言现在逐渐成熟起来,它的类已接近千个,无所不包,而且还可以通过第三方购买中间件,为Java语言的发展提供了良好的发展前景。同时它也是跨平台的语言,因此许多软件开发商及硬件开发商业争先恐后地想搭上Java语言的开车,都声称支持Java语言。b) Jav

30、a语言的优点简单易学:Java语言虽然起源于C+,但是去掉了C+语言中难于掌握的指针操作,内存管理非常简单,如果要释放内存资料,你仅需要让其对象的引用等于null,这样就是操作变得异常简单。面向对象:Java是面向对象的编码语言。面向对象技术较好地解决了当今软件开发过程中新出现的种种传统面向过程语言所不能处理的问题,包括软件开发的规模扩大,升级加快,维护量增大以及开发分工日趋细化、专业化和标准化等。面向对象技术的核心是以更接近于人类思维的方式建立计算机模型,它利用类和对象的机制将数据与其上的操作封装在一起,并通过统一的接口与外界交互,是翻译现实世界实体的各个类在程序中能够独立、自治和继承。分布

31、式:Java包括一个支持HTTP(超文本传输协议)和FTP(文件传输协议)等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL11(统一资源定位符)打开并访问网络上的对象,其访问本地文件系统几乎完全相同。为分布环境尤其是Internet提供动态内容无疑是一项非常宏大的工程,但Java的语法特性可很容易地实现这项目标。健壮性:Java致力于检查程序在编译和运行时的错误。类型检查可以检查出许多开发早起出现的错误。Java自行操纵内存,减少了内存出错的可能性。Java还实现了真数组。避免了覆盖数据的可能。这些功能特征大大缩短了开发Java应用程序的周期。Java提供Null指针检测数组便

32、捷,进行异常出口字节代码校验。安全稳定:对网络上应用程序的里一个要求是较高的安全可靠性。用户通过网络获取并在本地运行的应用程序必须是可信赖的,不会充当病毒或者其他恶意操作的传播者而攻击本地的资源,同时它应该是稳定的,轻易不会产生死机等错误,使得用户乐于使用。平台无效性:Java2语言独特的运行机制使得它具有良好的二进制级的可移植性,利用Java,开发人员可以编写出与具体平台无关,普通适用的应用程序,大大降低了开发、维护和管理的开销,也就是一次编译,随处运行。支持多线程:多线程是当今软件开发技术的又一重要成果,已成功应用在操作系统和应用开发等多个领域。多线程技术允许同一个程序有两个或两个以上的执

33、行线索,即同时做两件或多件事情,满足了一些复杂软件的需要。Java不但内置多线程功能,而且定义了一些用于建立、管理多线程的类和方法,使得开发具有多线程功能的程序变得简单、容易和有效。高性能:如果解释器速度不慢,Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300000个过程。翻译目标代码的速度与C/C+的性能没审美区别。动态性:Java的动态特性是其面向对象设计方法的扩展,它允许程序动态地装入运行过程中需要的类。Java编译器将付好引用信息转换为数值偏移量。这样,一个存储器生成的对象不在编译过程中决定,而是延迟到运行时由解释器确定,这样对类中的变量和方法进行

34、更新时就不至于印象现存的代码。解释执行字节码时,这种付好信息的查找和转换过程仅在一个新的名字出现时才进行一次,随后代码便可以全速这型。在运行时确定引用好处是可以使用已被更新的类,而不必担心会影响原有的代码。c) Java虚拟机(JVM)12 Java程序要想运行,必须有Java虚拟机(JVM)。Java虚拟机是编译后的Java程序和硬件系统之间的接口,我们可以把Java虚拟机看成是一个虚拟的处理器,它可以执行编译后的Java指令,还可进行安全检查。Java虚拟机是在一台真正的计算机上用软件方式实现的一台假想机,其使用的代码存储在.class文件中。这样一来,利用Java虚拟机也便实现了与平台无

35、关的特点,Java语言在不同平台上一年行驶不需要重新编译。Java虚拟机在执行字节码时,将其解释为具体平台上的机器指令执行。因为Java的实用性强,优点多,所以针对现在多种多样的开发语言,利用Java语言来开发我们的游戏是个比较好的选择。3.2 Eclipse基础a) Eclipse简介Eclipse是目前最流行的Java继承开发环境(IDE)14,其集成的JDT Java编写、编译、调试环境在易用性、便捷性及效率方面已经远远超过了Borland的JBuilder,而且Eclipse由于其开源,免费获取及高扩展性的支持,使得从事Java开发的程序员和企业可以轻易获得Eclipse,而不像JBu

36、ilder一样需要支付使用费用,使用Eclipse来做日常开发支持。作为Java集成开发环境(IDE),Eclipse作为Java的主流开发工具的地位在2005年就已经确立。除此之外,Eclipse平台是一个成熟的、精心设计的及可扩展的体系结构。Eclipse的价值还在于它为创建可扩展的集成开发环境提供了一个开放源代码的平台。Eclipse目前主要由4个项目组成,分别是Eclipse项目、Eclipse工具项目、Eclipse技术项目以及Eclipse Wwb工具平台项目,每个项目有一个项目管理委员会监督,使用GPL 1.0协议。Eclipse工具项目的主要任务是为Eclipse平台生产最好的

37、构建工具;Eclipse技术项目的主要任务是考虑到Eclipse今后的发展,为平台培养后续的接班人;Eclipse Web工具平台项目的主要任务是提供更好的Web开发的平台以及工具。b) Eclipse的体系结构 Eclipse体系结构的核心是动态发现插件。Eclipse由一个很小的核心和大量建立在核心之上的插件组成,核心本身仅仅负责基本环境的后台处理工作和提供标准的用户导航模型,而插件则专注于自身任务的处理。基于如此优良的设计及体系结构,就可以用插件在Eclipse中实现任何想要实现的功能。通过安装插件扩展已有软件功能的现象在日常生活中并不陌生。例如Web浏览器IE、Firefox任意一个都

38、可以,其插件和Eclipse插件非常相似,都是要解决扩展性问题的。如果想既能浏览Flash15动画,又能浏览PDF文件,还可以播放音乐,就需要不同的插件保证不同内容能在Web浏览器中正确显示。而在Eclipse中,可能需要编译HTML问价、设计数据库、开发Java程序或者编写C+文件,因此就需要为实现这些功能安装不同的插件,即自定义需要的插件。插件的运行方式是动态的,即在真正使用到这个插件的时候,这个插件才会被调入内存;而当插件不在被使用时,它就会在恰当的时候被清理出内存。因此不必担心随着插件安装数量的增加Eclipse运行时占用的内存也会增加。运行时内核:运行时内核负责所有已安装插件的发现和

39、启动,并且常见关于插件的注册信息。内核在实际需要某种插件是才加载该插件。除了内核外,其他每样东西都是作为插件来实现的。内核使用扩展点来支持开发者添加其他文件类型,并且提供对定制安装的支持,插件使用描述清单向系统描述自身。工作空间:工作空间是负责管理用户资源的插件。这些资源包括用户创建的项目和其中的文件,以及文件变更和其他资源。工作空间还负责同志其他插件关于资源变更的信息,比如文件创建、删除或更改。工作台:工作台为Eclipse提供用户操作各种工具的界面,其目标是通过为创建、管理和导航“工作台”资源提供公共范例来获得无缝的工具集成。它是使用标准窗口工具包(SWT)和一个更高级的API(JFace

40、)来构建的;SWT16是Java的Swing/AWT GUI API的非标准替代者,JFace则建立在SWT移植版本已经可用。Eclipse对SWT的使用只会影响Eclipse自身的可移植性使用Eclipse构建的任何Java应用程序都不会受到影响,除非它们使用SWT而不是Swing/AWT。团队支持:团队支持组件负责踢狗版本控制盒配置管理支持。它根据需要添加视图,使用户可以与其所使用的任何版本控制系统(如果有的话)交互。大多数插件都不需要与团队支持组件交互,除非插件提供版本控制服务。小组开发的支持与工作台之间实现了无缝集成,Eclipse中提供了支持小组开发的透视图以及各种版本和配置管理的透

41、视图。帮助:帮助组件具有与Eclipse平台本身相当的可扩展能力。与插件像Eclipse添加功能相同,帮助提供一个附加的导航结构,允许工具以HTML文件的形式添加文档。Eclipse良好的体系结构非常值得借鉴,尤其是在开发高扩展性、通用性好的应用程序、软件以及系统的过程中。c) Eclipse 是开放源代码的软件开放源代码软件是这样一种软件,它们在发布时附带了旨在确保将某些权利授予用户的许可证。当然,最明显的权利就是源代码必须可用,以便用户能自由地修改和再分发该软件。这种用户权利的保护是通过一种称为 copyleft 的策略来完成的:软件许可证主张版权保护,除非明确授予用户这样的权利,否则用户

42、不得分发该软件。copyleft 还要求同一许可证涵盖任何被再分发的软件。这实际上倒置了版权的目的;使用版权来授予用户权利,而不是为软件的开发者保留版权;copyleft 经常被描述为;保留所有版权”。曾经四处蔓延的对开放源代码软件的许多恐惧、担忧和疑虑,都与某些 copyleft 许可证的所谓的病毒、性质有关,如果使用开放源代码软件作为您开发的程序的一部分,您将失去自己的知识产权,因为该许可证将传染给开发的专有部分。换句话说,该许可证可能要求与开放源代码软件一起打包的所有软件,都必须在相同的许可证之下发布。虽然这对最著名的 copyleft 许可证来说可能是事实,当时还有其他许可

43、证在商业化和社区考虑之间提供了较好的平衡。开放源代码计划(Open Software Initiative)是一家非营利机构,它明确定义了开放源代码的含义及满足其标准的认证许可证。Eclipse 是在 OSI 认可的通用公共许可证(CPL)1.0 版之下被授予许可证的,CPL“旨在促进程序的商业化使用。为 Eclipse 创建插件或将 Eclipse 用作软件开发应用程序基础的开发人员,需要发布他们在 CPL 下使用或修改的任何 Eclipse 代码,但是他们可以自由决定自己添加的代码的许可证授予方式。与出自 Eclipse 的软件一起打包的专有代码不需要作为开放源代码来授予许可证

44、,该源代码也不需要提供给用户。3.3 JDK环境JDK(Java Development Kit) java开发工具包 其实学习java 除了学习面向对象的思维 就是学习这些工具包了 ,这里面的类接口等等 都给你准备好了,写程序的时候拿来用!简单的说:jdk为我们所编写的Java程序提供编译和运行的核心环境。JDK17包含的基本组件包括: javac 编译器,将源程序转成字节码 jar 打包工具,将相关的类文件打包成一个文件 javadoc 文档生成器,从源码注释中提取文档 jdb debugger,查错工具 java 运行编译后的java程序(.class后缀的) appletviewer:

45、小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。 Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。 Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具3.4 Applet基础Java Applet是一类特殊的Java程序,通常称为Java小应用程序,它被嵌入在HTML语言中,一般具有解释Java能力的浏览器都可以运行,如:Internet Explorer和Netscape。含有Applet的网页被称为Java支持的网页,它提供了一种一旦用

46、户需要客户端软件时,就可以自动地从服务器分发客户端软件给用户的方法。当用户获取了最新版本的客户端软件时,并不会有错误产生,而且也不需要很麻烦的重新安装过程。a)Applet的工作原理:在浏览包含Java Applet的特点主要在于其执行方式的不同,Java应用程序的入口是main()方法,而Java Applet则不需要包含标准的main()方法。如图3-1所示:图3-1Applet的工作原理图b)Java Applet类的继承关系:Applet继承自AWT重的Panel类。因此,我们可以通过Applet程序实现图形的绘制、字体和颜色的变化以及动画和声音等效果的实现等。 Applet类为小应用程序的执行提供了所有必要的支持。它还提供了装载和显示图像的方法,以及装载和播放语音片段的方法。如图3-2所示:java.lang.Object java.awt.Component java.awt.Container java.awt.Panel java.applet.Applet图3-2 Applet类的继承关系表3-1Applet定义的方法方法描述Accessible

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号