游戏人物跳跃的通常的算法是什么?

renxu350 2010-12-24 06:55:50
如题,请给个思路,谢谢,,,,,
...全文
500 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenxuanying 2010-12-27
  • 打赏
  • 举报
回复
///////////////////////////////// CALCULATE FRAME RATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*
///// 计算帧速率和时间间隔
///////////////////////////////// CALCULATE FRAME RATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*

void CalculateFrameRate()
{
static float framesPerSecond = 0.0f; // 刷新频率,帧每秒
static float lastTime = 0.0f; // 记录最后一帧
static char strFrameRate[50] = {0}; // 窗口标题

static float frameTime = 0.0f; // 记录最后一帧的时刻

// 获得当前时间
float currentTime = timeGetTime() * 0.001f;

// 记录当前和上一帧之间的延迟
// 为下一帧保存当前帧时刻
g_FrameInterval = currentTime - frameTime;
frameTime = currentTime;

// 记录刷新频率
++framesPerSecond;

// 用最后一次储存的时间减去当前时间,计算时间延迟是否超过一秒,如果没有,那就是我们要的FPS
if( currentTime - lastTime > 1.0f )
{
// 设置 lastTime 为 currentTime
lastTime = currentTime;

// 在窗口标题工具栏处显示当前刷新频率
sprintf(strFrameRate, "Current Frames Per Second: %d", int(framesPerSecond));

// 设置窗口标题
SetWindowText(g_hWnd, strFrameRate);

// 重置每秒刷新频率
framesPerSecond = 0;
}
}
这是我做OpenGL时候写的一段计算时间间隔的函数 希望对你有帮助
renxu350 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jameshooo 的回复:]

游戏基本不用定时器,而是不停计算时间间隔,定时器精度太低。
[/Quote]

这个一般怎么实现,能不能稍微说详细一点?
renxu350 2010-12-27
  • 打赏
  • 举报
回复
非常感谢ls各位的回答,
希望大家再给我一点思路,,,,,
dianhui 2010-12-24
  • 打赏
  • 举报
回复
慢慢来,做多了你的想法也就会多起来,建议你买一本Visual C++游戏设计(北京科海电子出版社)那本书先看一下!
其实你说的这个问题并不太难理解,在计算机世界里,任何运动都是通过绘制来体现的,绘制的关键又可以转化成你的绘制刷新频率来设计,而每一次绘制刷新可以通过一个消息响应函数来完成,好了,如何控制消息发送的快慢就靠你怎么样去设计了,你可以用TIMER,也可以用其它定时方法!
renxu350 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jameshooo 的回复:]

游戏基本不用定时器,而是不停计算时间间隔,定时器精度太低。
[/Quote]

请教#4楼,能不能配合代码稍微说的详细一点?
jameshooo 2010-12-24
  • 打赏
  • 举报
回复
游戏基本不用定时器,而是不停计算时间间隔,定时器精度太低。
b2b160 2010-12-24
  • 打赏
  • 举报
回复
可以用WM_TIMER,不过游戏一般有自己的一个时间控制.
renxu350 2010-12-24
  • 打赏
  • 举报
回复
请教#1楼能不能说的稍微详细一点?
是不是需要WM_TIMER呢?
b2b160 2010-12-24
  • 打赏
  • 举报
回复
估计就是一个简单的物理引擎,你这个估计就是给一个向上初始速度,然后给一个向下加速度就可以了.至于是否向前移动就看你要求了.

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧