- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主讲教师:王新蕊 使用鼠标控制三维场景中角色的运动 三维场景交互 在三维游戏中,通常使用鼠标控制人物角色是否运动以及运动的方向,当按下鼠标左键时角色开始向鼠标点位置运动,当释放鼠标左键时角色停止运动。 鼠标控制三维场景中角色的运动 CRole类的定义和实现 (1) 为了方便控制角色的运动,首先在Role.h中,封装了CRole类,该类的对象表示具体的人物角色,定义如下: (2) 在Role.cpp中, 对Crole类中的函数进行实现。 首先,实现构造函数和析构函数,实现代码如下: 其次,实现初始化函数,实现代码如下: 创建完角色后,要对角色进行渲染,实现代码如下: 最后还需要释放对象,实现代码如下: 2. 主程序的具体实现 示例程序中渲染一个地面和一个人物角色,并可以通过鼠标控制角色的运动,具体实现过程如下: 步骤一:定义相关的全局变量,代码如下: 同时不要忘了定义顶点结构和灵活顶点格式,代码如下: 步骤二:在OnCreateDevice函数中,创建地面顶点缓冲区和角色模型对象,代码如下: 步骤三:在OnResetDevice函数中,设置相关渲染状态,代码略。 步骤四:在OnFrameMove函数中,控制角色是否运动及运动方向,设置地面对象的位置。该示例中,通过改变地面的位置来实现角色和地面之间的相对位置移动,代码如下: 步骤五:在OnFrameRender函数中,渲染场景,代码如下: 步骤六:在MsgProc函数中,进行消息处理,代码如下: 步骤六:程序退出前,在OnDestroyDevice函数中,释放相关对象,代码如下: 上机练习 1、根据所学内容,在完成上节课实验的基础上,在三维场景中通过鼠标控制人物角色的运动。 注意:一定要在自己之前写的场景的基础上添加人物角色,通过鼠标对其进行控制。
您可能关注的文档
最近下载
- 世界社会主义演示文稿.ppt VIP
- 《小学语文课程与教学》 课件 第3、4章 识字与写字教学、 阅读教学.pptx
- 英美国家概况(英国部分) 全套课件.pptx VIP
- 飞腾平台PSPA1.0白皮书.pdf VIP
- T_SDEPI 043—2024(土壤有机污染物来源解析主成分分析法技术指南).pdf VIP
- 2025年全国青少禁毒知识竞赛题库及答案.docx VIP
- TSDEPI 044-2024 土壤重金属来源解析 正定矩阵因子分解法方法指南.pdf VIP
- DB440300T 282006 城市园林绿化用苗木本苗木分级.pdf VIP
- 第二批跨境电子商务零售进口商品清单(第二批).pdf VIP
- 水泥厂设备管理(培训资料)课件.ppt
文档评论(0)