第15章游戏案例2:魔塔分析.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第15章游戏案例2:魔塔分析

2)程序修改: 6. 地图的绘制 b 在floor0上,进行修改: 2,6,6,6,6,11,6,6,6,6,2, 2,6,6,6,6,1,6,6,6,6,2, 2,6,6,6,6,1,6,6,6,6,2, 2,6,6,6,6,1,6,6,6,6,2, 2,6,6,6,6,1,6,6,6,6,2, 2,6,6,6,6,1,6,6,6,6,2, 2,2,6,6,6,1,6,6,6,2,2, 2,2,2,2,2,13,2,2,2,2,2, 8,2,8,2,1,45,1,2,8,2,8, 8,8,8,8,8,2,8,8,8,8,8, 8,8,8,8,8,1,8,8,8,8,8 效果:对应位置上, 是墙,主角不能进行移动 3)实现思路: 6. 地图的绘制 b A. 在GameScreen.java中,获取地图图片资源 gameMap = new GameMap(hero, BitmapFactory. decodeResource(this.getResources(), R.drawable.map16)); B. 在GameMap.java中 floorMap = new TiledLayer(TILE_NUM_COL, TILE_NUM_ROW, bmap, TILE_WIDTH, TILE_HEIGHT); 3)实现思路: 6. 地图的绘制 b C. 在TiledLayer.java中,绘制地图 private void drawImage(Canvas canvas, int x, int y, Bitmap bsrc, int sx, int sy, int w, int h) 设置源图片中,需要图片范围,根据floor数组中对应数值得到; 设置目标图像中,需要的图片范围,根据地图当前的行列得到 通过drawBitmap函数,绘制地图 canvas.drawBitmap(bsrc, rect_src, rect_dst, null); 第十五章 游戏案例2:魔塔 1. 效果演示: 2. 程序文件分析 3. 游戏思路 4. 主要文件分析 5. 游戏实现过程 6. 地图的绘制 第15章 游戏案例2:魔塔 课件制作人:丁海洋 第十五章 游戏案例2:魔塔 1. 效果演示: 2. 程序文件分析 3. 游戏思路 4. 主要文件分析 5. 游戏实现过程 6. 地图的绘制 1. 效果演示: b 1. 效果演示: b 1)包javax.microedition.lcdui.game 2. 程序文件分析 b 这个包中的文件,是从J2ME中导入的 Sprite是从Layer扩展得到的 public class Sprite extends Layer 2)包com.yarin.android.MagicTower 2. 程序文件分析 b A. GameView 为各界面类定义的一个抽象类 B. MainGame 程序的主控类 主要控制函数是controlView C. ThreadCanvas 通过一个专门程序,实时更新视图,并且刷新视图 D. MagicTower 这是程序得主Activity,决定界面显示 2)包com.yarin.android.MagicTower 2. 程序文件分析 E. MainMenu 主菜单界面 F. AboutScreen 游戏得属性界面 G. HelpScreen 帮助界面 H. GameScreen 游戏主界面 I. FightScreen 战斗界面 J. GameMap 地图得生成 2)包com.yarin.android.MagicTower 2. 程序文件分析 b K. SplashScreen 选择是否启动音乐得界面 L. CMIDIPlayer 控制播放音乐得界面 M. yarin 关于游戏得参数 N. HeroSprite 主角得各个参数,及各种事件得处理 1)有多个界面进行切换,包括: 3. 游戏思路 b 主菜单界面、游戏界面、帮助界面、属性界面等 2)每一界面,为方便视图显示,都采用一view类 而每个界面都有共同的事件进行处理, 如键盘事件、触屏事件 只是不同界面下,处理的效果和方法不同 3)所以,为控制方便,定义一个抽象的view类, 每个界面则都继承自这个抽象的view类 4)这样在主控类中,可以根据当前激活的界面,调用到不同的处理 1)GameView 4. 主要文件分析 b 为各界面类定义的一个抽象类, public abstract class GameView extends View 这个类中,定义抽象的处理函数,不定义函数内容 protected abstract void onDraw(Canvas canvas);

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档