CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  游戏开发

让物体移动速度按秒移动,如何实现?

楼主limiteee(无限电)2006-03-16 17:22:29 在 专题开发/技术/项目 / 游戏开发 提问

我的程序在好机器上移动速度快,差机器上移动速度慢,这是因为我用的是物体按针移动  
   
  我想按秒移动,可是有好多问题,无法解决,比如,我如何预测下一秒,我的物体每针移动多少距离?  
   
  因为我下一秒可能会增加很多物体,所有下一秒的针数是不可预测的  
   
  我也想过用2个线程,可是线程同步比较麻烦反而开销大 问题点数:20、回复次数:4Top

1 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2006-03-17 11:30:04 得分 0

记录上一帧绘制时候的当前时间  
  和本次绘制的当前时间做比较  
  有了时间差了,ms级别就够了  
   
  当前位置   =   上次位置   +   移动速度   ×   时间差   ×   移动方向Top

2 楼yinqing_yx(淘汰引擎)(玩虚一族)回复于 2006-03-17 15:22:16 得分 10

看的不是太清楚这样可以不?  
  long   OldTime,NewTime  
  OldTime   =   timeGetTime()  
  。。。。。  
  NewTime   =   timeGetTime()  
  if(NewTime   >=   OldTime   +   1000)  
  ....  
  Top

3 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2006-03-17 19:30:57 得分 0

long   OldTime,NewTime  
  OldTime   =   timeGetTime()  
  。。。。。  
   
  PerFrame()  
  {  
        NewTime   =   timeGetTime()  
        long   dTime   =   newTime   -   oldTime;  
        oldTime   =   newTime;  
  /*  
        if(   dTime>1000)   //   这里仅仅是判断两帧之间间隔是否大于1s,这个不是控制速度的  
        {  
        }  
  */  
        dTime就是两帧之间的时差  
        时间乘以速度就是距离啊  
        按着指定的方向移动这个距离就可以了  
  }Top

4 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2006-03-17 19:41:32 得分 10

楼主的这个问题不是要1秒钟移动一次  
   
  每帧固定移动距离的方法毛病在于,在好的电脑后者简单的场景下,每秒钟渲染的次数很高,所以1秒钟当中被多次移动,看起来就很快;相反的慢机器,后者复杂场景上,也许1秒钟当中只移动一次,感觉物体移动的速度就很慢  
   
  楼主的目标应该是:无论在什么机器或者场景当中,移动的速度都一样  
   
  正确的做法是把每帧移动固定距离的控制方法,修正成固定一个移动速度,比如1秒钟10个单位  
  实际计算当中根据两帧之间的时间差   和   速度相乘来算移动的具体距离,而不是固定距离  
   
  Top

相关问题

  • 关于物体移动的问题???
  • 速度与机器无关,和物体的速度微调
  • 物体的运动速度达到光速会怎么样?
  • 关于在OPENGL中用鼠标移动物体
  • 物体如何在窗体中任意角度移动??请写代码,谢谢
  • 模拟人移动的速度
  • 如何得到鼠标移动速度?
  • 急问:鼠标移动速度问题
  • 请问如何让键盘的方向键能够平滑地控制物体的移动?
  • 如何改变元件的移动速度

关键词

  • 移动
  • 物体
  • oldtime
  • newtime
  • 速度
  • 距离
  • timegettime
  • 时间差
  • dtime
  • 机器

得分解答快速导航

  • 帖主:limiteee
  • yinqing_yx
  • happy__888

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo