2.模式移动课件.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.模式移动课件

人工智能;模式移动;模式移动;控制指令的数据结构;模式初始化;;矩形模式移动的实现;设置其它的控制参数;运行模式数组;计算位移 得到角色当前坐标 因为这里做规则的矩形移动,所以不用考虑速度分解,计算这一帧角色的位移为: double ds = dMonsterSpeed * fDeltaTime; 根据角度计算ds应该如何加在相应的角色当前坐标上,并设置角色的新坐标 根据角度设置动画精灵的朝向 计算在这一步里移动的距离,并累加位移 如果累加的位移大于当前模式里要移动的距离,则将下标指向下一模式。同时将累加的位移清零。 具体代码如下 ;void CPatternMovement::DoRectanglePattern(float fDeltaTime) { float fx = pMonster-GetPos().x; float fy = pMonster-GetPos().y; dMonsterAngle += vRectanglePattern[nCurrentIndex].turnRight - vRectanglePattern[nCurrentIndex].turnLeft; dMonsterAngle = fmod(dMonsterAngle, 360.0) ; double ds = dMonsterSpeed * fDeltaTime; ; if (dMonsterAngle == 90) //向下 { fy += ds; } else if (dMonsterAngle == 180) //向左 { fx -= ds; } else if (dMonsterAngle == 270) //向上 { fy -= ds; } else if (dMonsterAngle == 0) //向右 { fx += ds; } ; pMonster-SetPos(D3DXVECTOR3(fx,fy,0)); SetMonsterDirection(dMonsterAngle); dDistance += ds; if (dDistance = vRectanglePattern[nCurrentIndex].stepForward - vRectanglePattern[nCurrentIndex].stepBackward) { nCurrentIndex++; nCurrentIndex %= vRectanglePattern.size(); dDistance = 0; } ;不规则的模式移动;有如下的模式控制数组;void CPatternMovement::InitZigZagPatternData() { vZigZagPattern.push_back(ControlData(65)); vZigZagPattern.push_back(ControlData(0,0,400)); vZigZagPattern.push_back(ControlData(65)); vZigZagPattern.push_back(ControlData(0,0,100)); vZigZagPattern.push_back(ControlData(70)); vZigZagPattern.push_back(ControlData(0,0,200)); vZigZagPattern.push_back(ControlData(0,30)); vZigZagPattern.push_back(ControlData(0,0,50)); vZigZagPattern.push_back(ControlData(0,45)); vZigZagPattern.push_back(ControlData(0,0,200)); vZigZagPattern.push_back(ControlData(115)); vZigZagPattern.push_back(ControlData(0,0,450)); vZigZagPattern.push_back(ControlData(110)); vZigZagPattern.push_back(ControlData(0,0,150)); vZigZagPattern.push_back(ControlData(0,10)); vZigZagPattern.push_back(ControlData(0,0,300)); };运行不规则的模式数组;另一种模式指令形式;enum PATTERNINSTRUCTION { FORWARD, BACKWARD

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档