




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七讲 创建游戏世界背景,内容提要,Java2D图像绘制简介 卷轴型背景贴图 砖块型背景贴图,7.1 Java2D图像绘制,支持图像文件格式 GIF、JPG、 PNG 图像处理流程,主要的图像类 Image、ImageIcon、BufferedImage 图像文件的载入方式 Image im; im =ImageIO.read( getClass( ).getResource(ball.gif) ); 图像的绘制方式 g.drawImage(im, 0, 0, null);,BuffedImage,优点: 提供各种关于图像效果处理的方法 加速图像的显示速度,创建BufferedImage对象
2、BufferedImage bim = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); 载入图像文件 bim=ImageIO.read(getClass( ).getResource(ball.gif); 绘制图像 g.drawImage(bim, 0, 0, null);,7.2 绘制游戏背景图像,卷轴型图像(ribbon) 砖块型图像(tile),1 绘制卷轴型图像,步骤 创建BufferedImage对象,并载入图像文件 将此图像绘制到屏幕后缓冲中 将图像显示到屏幕 多个图像叠加绘制 注意绘制次序:层次越深的越
3、先绘制 (参见例子7.1),图像的叠加(注意绘制次序),2 滚动卷轴型图像,何为滚动(scroll)? 让图像的不同部分依次从程序窗口中“经过”(如同坐火车,卷轴图像好比风景,程序窗口好比火车车窗) 为何滚动? 图像尺寸大于窗口尺寸 制造移动效果,局部(程序)坐标系vs世界(外部)坐标系 局部坐标系:原点为程序窗口左上角 世界坐标系:原点为图像区域左上角 绘制方式:循环滚动 g.drawImage(im, DX1, DY1, DX2, DY2, SX1, SY1, SX2, SY2, observer);,情况1: if (xImHead = 0) / draw im head at (0,0
4、) draw(g, bim, 0, pWidth, 0, pWidth); ,情况2: else if (xImHead 0) ,情况3: else if (xImHead = pWidth) / only draw im tail at (0,0) draw(g, bim, 0, pWidth,width - xImHead, width - xImHead + pWidth); ,情况4: else if (xImHead = pWidth - width) draw(g, bim, 0, pWidth, -xImHead, pWidth - xImHead); ,情况5: else if
5、 (xImHead pWidth - width) / draw im tail at (0,0) and im head at (width+xImHead,0) draw(g, bim, 0, width + xImHead, -xImHead, width); draw(g, bim, width + xImHead, pWidth, 0, pWidth - width - xImHead); ,滚动控制,1.按下键盘左键时背景图像向左滚动还是向右? 按左键向右滚,按右键向左滚 2.背景图像滚动时如何改变xImHead值? 向右滚时XImHead增加,反之减少 3.多个背景同时滚动时有什
6、么特点? 层次越深的背景图像滚动速度越慢,3 绘制tile图像,绘制过程:在程序窗口“贴瓷砖”,(1)用单一tile图像填充游戏背景,利用循环语句 for(int i=0;i=WIDTH/tileSize;i+) for(intj=0;j=HEIGHT/tileSize;j+) dbg.drawImage(tile, i*tileSize, j*tileSize, null);,(2)用tile地图文件绘制背景,用文本文件形式表示的tile地图,载入并分析地图文件:使用FileReader 逐行读入文本信息,如果该行以#开头则跳过 否则逐个读入字符,A至I分别表示以下tiles,程序中存放tile地图:二维数组 tilesij:保存tile地图文件第i行第j列位置的tile图像 tiles数组下标与世界坐标的转换关系: 下标转坐标: x=j*TileSize y=i*TileSize 坐标转下标: j=x/TileSize i=y/TileSize,4 滚动tile地图,滚动方式:单向(自右向左) 绘制方式:类似卷轴图像的绘制 控制方式:按右键xMapHead值减少,5 将卷轴与tile图像结合,注意 1.绘制的次序: 先卷轴图像后tile图像 2.滚动速度: 层次越深的速度越慢 创建backGroundMana
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中生物学SSI教学培养学生科学思维的实践研究
- 数据中心机柜的隔震性能研究
- 大型活动安保培训
- 有害物质基础知识培训
- 预防儿童性侵课件
- 核心领导力培训
- 音乐课件的技能与技巧
- 音乐说课课件《梁祝》
- 市政污水管网改造项目节能评估报告(模板)
- 2025年电子用高纯气体项目建议书
- 医学课件-快速康复ERAS普外科幻灯教学课件
- 关联交易同期资料培训讲义课件
- 2022年北京公共交通控股(集团)有限公司招聘笔试试题及答案解析
- 压力管道基础知识(管理类)
- 气体灭火系统验收表1
- 新北师大版六年级上册数学全册教学课件
- DB1309T 256-2021 榆三节叶蜂综合防治技术规程
- 土木工程概论全套课件完整版电子教案最新板
- 超星尔雅学习通《声光影的内心感动电影视听语言(四川大学)》章节测试答案
- 燃气工程计价规则及定额应用
- 上教社深圳版小学英语1-6年级单词汇总
评论
0/150
提交评论