版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB37+T+5293-2024绿色建筑施工质量验收规程
- DB15T+4264-2026公路工程路基绿色施工技术规范
- 手术室火灾隐患排查
- 潭州教育售后培训
- 2026幼儿教师资格证考试《综合素质》能力测试试题附解析
- 2026年顶管施工技术员专项考核试题及答案
- 2026上半年海南事业单位联考省直属(部门所属)及中央驻琼事业单位招聘备考题库附答案详解(黄金题型)
- 2026内蒙古呼和浩特航天经济开发区管理委员会招聘所属国有企业管理人员2人备考题库及参考答案详解(新)
- 2026吉林省科维交通工程有限公司东南地区项目部劳务派遣人员招聘14人备考题库含答案详解
- 2026广东佛山南海区桂城街道怡海第三幼儿园储备人员招聘备考题库含答案详解(能力提升)
- 2025年关于院外购药吃回扣自查报告
- 【化学】辽宁省丹东市2025届高三下学期总复习质量测试(一)试题(解析版)
- 信息系统分析与设计 课件全套 廖浩德 0 课程简介、1.1 计算与计算学科 -9 动态行为建模
- 仪表联锁培训课件
- 2025版小学语文新课程标准
- 2025至2030中国电催化氧化设备行业项目调研及市场前景预测评估报告
- 物业公司出纳管理制度
- 班级活动听歌识曲
- 华为固定资产管理制度
- 混凝土结构工程施工质量验收规范范本
- 客运驾驶员培训教学大纲
评论
0/150
提交评论