- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 第7章 角色与场景的交互 内容提要 玩家角色(Player)与场景的交互 电脑角色(NPC)与场景的交互 玩家与NPC的交互 1. 玩家与场景的交互 对于迷宫类游戏 按上下左右键后玩 家朝相应的方向移动,碰到迷宫边界后停止 对于横版动作游戏 对水平和垂直方向分别处理 水平方向:按左右键后玩家向左或向右移动,碰到障碍停止 垂直方向:受重力作用自然落体,遇到障碍物时停止下降;按“跳跃键”后呈现跳起的姿态 用程序实现涉及哪些问题? 事件检测 坐标更新 图像更新 碰撞检测 具体实现 对于迷宫类游戏 事件检测:上下左右键的按下及松开事件 坐标更新:按下键y坐标增加,松开上键停止增加y坐标值,其余方向类似 图像更新:按上键及松开上键时显示朝上行走的图像,其余方向类似 碰撞检测:玩家的图像与障碍图像重叠时停止玩家坐标的更新 对于横版动作类游戏 水平方向: 事件检测:检测左右键的按下、松开事件 坐标更新:按左、右键,背景分别向右、左滚动,而玩家坐标始终固定于程序窗口的正中央 图像更新:按下及松开左、右键时分别显示朝左、右行走的图像 碰撞检测:玩家的图像与障碍图像(tiles图像)重叠时停止背景的滚动 垂直方向: 事件检测:检测“跳跃键”的按下事件 坐标更新:更新y坐标(跳起时减小,下落时增加) 图像更新:无需更新 碰撞检测:玩家的图像与障碍图像(tiles图像)重叠时停止更新y坐标 难点一:碰撞检测 原理:边界检测,判断玩家角色的坐标是否落在某个tile内 步骤: 1.将玩家当前坐标(x , y)转换为tiles地图坐标 (x’,y’) 为何要转换?如何转换? 2.将玩家坐标转换为tiles数组下标(i , j) 如何转换? 3.判断tiles[i][j]是否为空 若不为空表示什么? 4.若发生碰撞,进行碰撞处理 (1)垂直方向 调整y坐标值,使得玩家“站”在障碍物上 将dy设为零 (2)水平方向 调整x坐标值,使得玩家贴着障碍物站立 停止滚动背景 实例演示 事件检测与玩家移动 碰撞检测 碰撞处理 (参见例7_1) 难点二:跳跃时的坐标变化 跳跃时的状态转换 if(按下空格键) if(达到最高点) if(碰到地面) locY值不变 locY值减少 locY值增加 如何模拟下落时的重力效果? Static final int GRAVITY; dy+=GRAVITY; locY+=dy; 如何实现在跳跃上升期y坐标值减小? Static final int INISPEED; JumpSpeed= -INISPEED; dy=JumpSpeed+=GRAVITY; locY+=dy; 实例演示 按空格键起跳,初速度的设置和布尔值的变化 上升期dy及locY的变化 下降期dy及locY的变化 (参见例7_2) 2. NPC与场景的交互 出场方式:从砖块地图中读取,例如用字符‘*’代表一类NPC NPC移动方式: 水平方向:始终朝一个方向移动,碰到障碍物后向反方向移动 垂直方向:受重力作用自然落体,遇到障碍物时停止下降 问题思考 NPC的移动方式和玩家的异同? 如何实现NPC的移动? 如何统一管理多个NPC? 实例演示 从tiles地图文件载入NPC NPC移动时的坐标与图像更新 NPC与tiles的碰撞检测 (参见例7_3) 3. 玩家与NPC的交互 碰撞检测:玩家与NPC的图像是否重叠(可采用打砖块实例的方法) 注意: 玩家与NPC不在同一个坐标系统,如何处理? 碰撞处理:可用多种选择( 游戏结束,玩家干掉NPC,玩家生命减少等等) 实例演示 玩家与NPC的交互:玩家碰到NPC后游戏结束(游戏停止更新) (参见例7_4) 继续改进 1.玩家可以一直走到屏幕最左或最右端(碰到墙壁为止),同时停止背景的滚动 2.将游戏场景设为单向滚动(从左向右,类似超级玛丽) 3.玩家可以跳起后踩死敌人,并播放相应的音效 4.NPC间的碰撞检测及处理,如两个NPC碰到后相互按相反的方向移动等 5.发射子弹射击NPC(电脑角色),被击中的NPC消失 6.增加宝物,让玩家吃到后增强属性,如增加跳跃高度,无敌,穿墙等 7.设计游戏UI(分数显示,生命显示,操作菜单等)
您可能关注的文档
- 新Java Web程序设计教程 教学课件 范立锋 林果园 第13章 Spring与Java EE持久化数据访问.ppt
- 新Java Web应用技术与案例教程 教学课件 杨树林 胡洁萍 第三章 设计模式与分层架构.ppt
- 新Java 程序设计 教学课件 朱喜福 林建民 唐永 第01章.ppt
- 新Java 程序设计项目教程(教育部高职高专计算机教指委规划教材) 教学课件 张兴科 季昌武 项目五.ppt
- 新JavaScript程序设计基础教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 阮文江 第七章 对象编程1.ppt
- 新JavaScript程序设计基础教程 教学课件 曾海 第9章 CSS+DIV技术.ppt
- 新JavaScript脚本程序设计 教学课件 吴以欣 陈小宁 第3章 JavaScript常用内置对象.ppt
- 新Java编程与应用教程 教学课件 张莉 java_03.ppt
- 新Java编程与应用教程 教学课件 张莉 java_11.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 1_ 第7章 Java的图形与用户界面.ppt
- 2024外研版七年级下册Unit 3 Food matters 综合素质评价 (含答案、听力原文,无音频).pdf
- 公司信息化建设项目实施计划.docx
- 2025二建管理冲刺讲义.pdf
- 幼儿教育辅导指南.doc
- 2024苏科版七年级数学下册《幂的运算与新定义问题》强化训练30题(含答案).pdf
- 2024苏科版七年级数学下册《整式的乘法》计算题强化训练40题(含答案).pdf
- 2024苏科版七年级数学下册常考考点分类:整式乘法(含答案).pdf
- 2024苏科版七年级数学下册活用乘法公式的九种技巧(含答案).pdf
- 文化产业发展战略规划及市场开拓策略研究报告.doc
- 2025二建管理六大专题.pdf
文档评论(0)