Java游戏编程原理与实践教程课件第9章陈锐夏敏捷主编.ppt

上传人:sccc 文档编号:5577249 上传时间:2023-07-30 格式:PPT 页数:12 大小:1.21MB
返回 下载 相关 举报
Java游戏编程原理与实践教程课件第9章陈锐夏敏捷主编.ppt_第1页
第1页 / 共12页
Java游戏编程原理与实践教程课件第9章陈锐夏敏捷主编.ppt_第2页
第2页 / 共12页
Java游戏编程原理与实践教程课件第9章陈锐夏敏捷主编.ppt_第3页
第3页 / 共12页
Java游戏编程原理与实践教程课件第9章陈锐夏敏捷主编.ppt_第4页
第4页 / 共12页
Java游戏编程原理与实践教程课件第9章陈锐夏敏捷主编.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《Java游戏编程原理与实践教程课件第9章陈锐夏敏捷主编.ppt》由会员分享,可在线阅读,更多相关《Java游戏编程原理与实践教程课件第9章陈锐夏敏捷主编.ppt(12页珍藏版)》请在三一办公上搜索。

1、Java游戏编程原理与实践教程,主编 陈锐 夏敏捷人民邮电出版社,在“游戏”中,拼块以随机顺序排列,网格上有一个位置是空的。完成拼图的方法是利用这个空位置移动拼块,玩家用鼠标点击空位置周围拼块来交换它们位置,直到所有拼块都回到原位置。拼图游戏运行结果如图9-1。,第9章 人物拼图游戏,游戏界面和相关图片素材,9.2 程序设计的思路游戏中动态生成一个大小3*3的图片按钮数组cells。将图片woman.jpg分割成行列数3*3的小图片,并按顺序编号;每个图片按钮显示一副小图片,其位置成员place存放用0,1,2到8的数,代表正确位置编号。注意最后一个图片按钮显示的是空白信息图片“9.jpg”而

2、位置成员place存放8。游戏开始时,随机打乱这个图片按钮数组cells,根据玩家用鼠标点击,来交换图片按钮数组cells对应按钮与空白图片按钮位置,判断按钮数组cells所有元素的位置成员place是否有序来判断是否已经完成游戏。,9.3 关键技术9.3.1 按钮显示图片实现Swing中的按钮可以显示图像(图片)。JButton中显示图像的构造方法:JButton(Icon icon):按钮上显示图标。,9.3 关键技术9.3.2 图片按钮移动实现当图片按钮移动后,按钮的坐标发生改变,此操作通过setLocation()方法实现。setLocation()方法是从Component类继承的,

3、其定义如下:public void.setLocation(int x,int y)参数x,当前组件左上角在父级坐标空间中新位置的x坐标。参数y,当前组件左上角在父级坐标空间中新位置的y坐标。,9.4 程序设计的步骤项目组成如图9-2所示。,9.4.1 设计单元图片类(Cell.java)创建名称为Cell的类,用于封装一个单元图片对象,此类继承JButton对象,并对JButton按钮组件进行重写。9.4.2 枚举类型Direction.java项目中创建一个名称为Direction的枚举类型,用于定义图片移动的4个方向。/枚举类型四个方向public enum Direction UP,/

4、上 DOWN,/下 LEFT,/左 RIGHT/右,9.4.3 游戏面板类GamePanel.java在项目中创建一个名称为GamePanel的类,此类继承JPanel类,实观MouseListener接口,用于创建游戏面板对象。GamePanel类中定义长度为9单元的图片数组对象cells,并通过init方法对所有单元图片对象迸行实例化。构造方法GamePanel()调用init()初始化对所有单元图片对象迸行实例化。单元图片对象进行实例化是可以直接用现成分割好的图片1.jpg,2.jpg,.9.jpg(见图9-3)实现。其中9.jpg为空白图片。也可以不用现成分割好的图片,使用Buffer

5、edImage类的getSubimage方法可以对一个大的图片woman.jpg进行任意分割成子图像。,现成分割好的图片1.jpg,2.jpg,.9.jpg,图片块上单击事件中,通过e.getSource()获取触发事件的对象cell,与空白图片块cellBlank进行位置比较,从而决定被单击对象cell和空白图片块cellBlank移动方向。public void mouseClicked(MouseEvent e)Cell cell=(Cell)e.getSource();/获取触发事件的对象 int x=cellBlank.getX();/获取空白图片块x坐标 int y=cellBlank.getY();/获取空白图片块y坐标 if(x-cell.getX()=Cell.IMAGEWIDTH,9.4.4 主窗口类MainFrame.java在项目中创建一个继承JFrame的MainFrame类,用于显示自定义游戏面板GamePanel界面。,图9-4 游戏成功效果,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号