第11章综合应用设计实例要素.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章综合应用设计实例要素

主要内容 11.1 “推箱子”游戏程序设计 11.1 用方向键控制图形移动 11.1.1 键盘监听接口和击键事件类 1、键盘监听接口KeyListener 在awt类库在,有一个键盘监听接口KeyListener,利用它可以实现控制键盘操作。 KeyListener接口中定义了有3个方法: keyPressed(KeyEvent e) 按下某个键时调用此方法。 keyReleased(KeyEvent e) 释放某个键时调用此方法。 keyTyped(KeyEvent e) 键入某个键时调用此方法。 在实现KeyListener接口时,必须重写这3个方法。 2、指示发生击键事件的类KeyEvent 当按下、释放或键入某个键时,由KeyEvent类指示所引发的事件。在本例中,用到了KeyEvent类的如下常量: int VK_ DOWN 用于键盘向下方向键的常量。 int VK_LEFT 用于键盘向左方向键的常量。 int VK_ RIGHT 用于键盘向右方向键的常量。 int VK_UP 用于键盘向上方向键的常量。 11.1.2 用键盘方向键控制图形移动 【例11-1】用键盘的方向键控制图形块移动,如图11.1所示。 11.1.3 推另一图形移动 【例11-2】用键盘的方向键控制一个图形推着另一个图形移动,如图12.2所示。 11.1.4 由地图文件安排游戏画面 1、 地图文件 在设计游戏程序时,通常都是把游戏的画面布局数据存放在一个地图文件中。程序通过读取地图文件中的数据来获取画面的布局安排。 例如,如图11.3所示的游戏的画面,就是从一个地图文件中读取的画面数据。 在该游戏画面中,使用了6种小图形块,每一种小图形都定义了一个编号,如图11.4所示。 把这些小图形块根据游戏剧情要求组合成一个大图形,其各小图形块所对应的编号构成一组数据,如图11.5所示。把这组数据保存到一个文件中,该文件就称为地图文件。 2、 从地图文件中读取数据 【例11-3】设有地图文件0.map,其数据如图11.6左图所示,各数据为如图11.6所示的小图形块的编号。 11.1.5 障碍物的处理方法 在游戏设计中,经常会设置一些障碍物,运动体如果遇到障碍物就不能通过。因此,需要检测运动体的前方是否有障碍物。 【例11-4】设有地图文件1.map,其数据及显示的游戏界面如图11.7所示。其中的数据为如图117左图所示的小图形块的编号。 课程设计 1、按例11-3和例11-4的示例,进一步完成图11.7所示的推箱子游戏程序。  2、在第1题程序的基础上,再增加进入下一关的功能。下一关的地图文件2.map数据如图的左图所示。 11.2 远程桌面控制系统设计 11.2 远程桌面控制系统设计 这是一个用于局域网的远程桌面控制系统,在控制端(客户端程序)输入被控端(服务器端程序)的IP地址后,就可以抓取到被控端的桌面屏幕图像,并对被控端进行远程操作。 11.2.1 引例——捕获桌面屏幕图像 Java提供了一个机器人Robot类。该类用于产生与本地操作系统有关的底层输入、测试应用程序运行或自动控制应用程序运行。利用机器人Robot类捕获屏幕图像的设计思想为:Robot类有一个createScreenCapture( )方法,可以直接将全屏幕或某个屏幕区域的像素拷贝到BufferedImage对象中,然后将这个BufferedImage对象写入到一个图像文件之中,就完成了屏幕到图像的拷贝过程。 在下面示例中,使用了Robot提供的两个方法。 (1)BufferedImage createScreenCapture(Rectangle screenRect)createScreenCapture 方法提供类似于键盘上的PrintScreen键的功能,将指定矩形区域内的屏幕像素拷贝下来产生一个BufferedImage。 (2)void delay(int ms)用来将当前的线程(thread)休眠(sleep)若干毫秒(ms)。可用来控制程序的延时。 【例11-5】设计捕获桌面屏幕图像程序。 核心代码: screenRect=new Rectangle(0,0,width,height); image = robot.createScreenCapture(screenRect); ImageIO.write(image, JPEG, file); 11.2.2 系统结构设计 1、系统总体结构 2、服务器端程序功能:   (1)发送自己的屏幕图像;    (2)接收客户端传来的控制命令,并执行相应的操作。 3、服务

文档评论(0)

4477704 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档