第五章java游戏设计概要1

第五章java游戏设计概要1

ID:16051492

大小:501.50 KB

页数:39页

时间:2018-08-07

第五章java游戏设计概要1_第1页
第五章java游戏设计概要1_第2页
第五章java游戏设计概要1_第3页
第五章java游戏设计概要1_第4页
第五章java游戏设计概要1_第5页
资源描述:

《第五章java游戏设计概要1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章Java游戏:坦克大战本章目标Ø封装的实际演练Ø简单用户界面设计Ø动画和控制设计本章简介在上一章我们学习了面向对象的基础知识,特别是学习了封装这个面向对象设计的核心概念,在本章我们将通过一个有趣的游戏《坦克大战》来学习和掌握封装这一重要的思想。为了开发这个游戏,我们将从以下几个方面展开:界面设计、绘图、动画设计、键盘控制、角色设计。5.1JAVA图形界面设计问题描述:游戏总得有个“舞台”,这个“舞台”就是窗体。我们必须掌握简单窗体设计技术,以便为游戏搭建舞台。Java中的java.awt包为我们提供了设计窗体的相关类,其中最关键的是Frame类,使用这个类可以创建窗体。

2、请看以下示例,该示例展示了如何创建一个窗口。例程5.1:importjava.awt.Color;importjava.awt.Frame;publicclassFrameTest{publicstaticvoidmain(String[]args){Frameframe=newFrame();//创建一个窗体对象frame.setTitle("Frame");//设置窗体标题frame.setSize(400,300);//设置窗体大小frame.setLocation(50,50);//设置窗体左上角坐标frame.setBackground(Color.GREEN);/

3、/设置窗体背景颜色为绿色frame.setVisible(true);//显示窗体}}程序运行结果:对于这个程序,参看其中的注释不难理解。但是一旦运行这个程序,你会发现这个窗体无法关闭,而且这样设计也不符合以后我们游戏设计的要求。我们先搭建一个框架,以供以后游戏开发的使用。这个框架是继承自Frame,将窗体的各种属性内置于这个窗体子类之中,并且解决了窗体关闭问题。示例5.2importjava.awt.Color;importjava.awt.Frame;importjava.awt.event.WindowAdapter;importjava.awt.event.Windo

4、wEvent;//游戏窗体继承自窗体类publicclassFrame1extendsFrame{publicvoidlaunch(){this.setSize(800,600);//设计游戏窗体各种属性this.setLocation(50,50);this.setBackground(Color.GREEN);this.setResizable(false);//禁止改变窗体大小this.addWindowListener(newWindowAdapter(){//关闭窗体publicvoidwindowClosing(WindowEvente){System.exit(

5、0);}});this.setVisible(true);}publicstaticvoidmain(String[]args){Frame1frame=newFrame1();frame.launch();}}程序中的黑体部分展示了关闭窗体的代码,这里使用的是窗体的监听器WindowAdapter来处理窗体关闭。对这些不必深究,我们关注的焦点是为游戏搭建一个框架和后面非常重要的封装的应用。以上程序就是我们游戏的基本框架,以后的设计都在这个基础上扩展,请您一定要动手。5.2JAVA绘图问题描述:绘图对游戏的重要性不言而喻,我们将学习如何绘制各种图形和图片。Java提供了一套功

6、能丰富的类,可以帮助我们很容易的绘制各种图形。在这里我们主要学习Graphics2D这个这个图形核心引擎,这个类在绘制矢量图和位图方面的全面性令人难以置信。我们来看下面的例子:例程5.3:importjava.awt.Color;importjava.awt.Frame;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;publicclassFrame1extendsFrame{publicf

7、inalstaticintWIDTH=800;publicfinalstaticintHEIGHT=600;//绘制图形publicvoidpaint(Graphicsg){Graphics2Dg2d=(Graphics2D)g;g2d.setColor(Color.BLACK);g2d.fillRect(0,0,WIDTH,HEIGHT);g2d.setColor(Color.GREEN);g2d.fillOval(50,50,100,100);g2d.drawOval(200,200,80,100)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。