- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 角色与场景的交互 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 内容提要 玩家角色(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(分数显示,生命显示,操作菜单等)
您可能关注的文档
- Internet 实用教程 作者 张强华 吕新平 第五章.ppt
- Internet 实用教程 作者 张强华 吕新平 第一章.ppt
- Internet核心原理与应用技术 作者 郭银章 第2章.ppt
- Internet核心原理与应用技术 作者 郭银章 第4章.ppt
- Internet核心原理与应用技术 作者 郭银章 第5章.ppt
- Internet核心原理与应用技术 作者 郭银章 第7章.ppt
- Internet核心原理与应用技术 作者 郭银章 第9章.ppt
- Internet核心原理与应用技术 作者 郭银章 第12章.ppt
- Internet核心原理与应用技术 作者 郭银章 第13章.ppt
- Internet核心原理与应用技术 作者 郭银章 第14章.ppt
- Java游戏程序设计教程 第2版 作者 何青 第8章 声音效果设定.ppt
- Java游戏程序设计教程 第2版 作者 何青 第9章 完善游戏规则.ppt
- Java游戏程序设计教程 第2版 作者 何青 第10章 游戏关卡设计.ppt
- Java游戏程序设计教程 第2版 作者 何青 第12章 Greenfoot简介.ppt
- Java游戏程序设计教程 第2版 作者 何青 第13章 游戏设计案例详解.ppt
- Java语言程序设计 工业和信息化普通高等教育“十二五”规划教材 作者 相洁 呼克佑 第1章 概述.ppt
- Java语言程序设计 工业和信息化普通高等教育“十二五”规划教材 作者 相洁 呼克佑 第2章 Java程序开发运行环境.ppt
- Java语言程序设计 工业和信息化普通高等教育“十二五”规划教材 作者 相洁 呼克佑 第3章 Java语言基础.ppt
- Java语言程序设计 工业和信息化普通高等教育“十二五”规划教材 作者 相洁 呼克佑 第4章 数组与字符串.ppt
- Java语言程序设计 工业和信息化普通高等教育“十二五”规划教材 作者 相洁 呼克佑 第5章 java面向对象程序设计.ppt
最近下载
- 2025年院感知识理论考试题库+答案.docx VIP
- 配合协调与服务承诺.docx VIP
- 14《称空气》课件 科学三年级上册(苏教版2025).pptx
- 晚期消化道肿瘤临床规范诊疗新进展题库答案-2025年华医网继续教育.docx VIP
- 工程协调配合措施及承诺.docx VIP
- 医院信息科笔试、面试题(附答案).docx VIP
- 施工协调配合的承诺与措施.pdf VIP
- 医院信息科计算机考试精彩试题(附答案).docx
- 2025年最新人教版七年级(初一)数学上册教学计划及进度表(新课标,新教材).docx
- 2025至2030地毯和室内装饰清洁服务行业项目调研及市场前景预测评估报告.docx
文档评论(0)