游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1345|回复: 3

请教时间函数问题

[复制链接]

4

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2008-8-28 15:57:00 | 显示全部楼层 |阅读模式
有dxut编程时,可以用DXUTGetGlobalTimer()->Stop()使时间停止,那么不用dxut编程时,应用什么函数使他停止呢?

4

主题

220

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2008-9-3 16:55:00 | 显示全部楼层

Re: 请教时间函数问题

你把里头的DXUTTime搞出来用,不就完了,我就这样搞的

10

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2008-9-5 14:06:00 | 显示全部楼层

Re:请教时间函数问题

可以像dx sdk 的例子那样,设一个bool的stop标志。把标志放在渲染或移动东西的程序前:

if(stop)
{
   渲染或移动东西;
}

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-9-12 11:11:00 | 显示全部楼层

Re:请教时间函数问题

封装个成员变量纪录时间。

LONG CTimeMgr::m_Time;
LONG CTimeMgr::m_bPaused;
void CTimeMgr:ause();
LONG CTimeMgr::GetTime();
void CTimeMgr::PhysicalUpdate( LONG physical_delta_time )
{
    if(m_bPaused) return;
    m_Time += physical_delta_time;
}

用timeGetTime计算出物理时间流逝通过PhysicalUpdate传给CTimeMgr.

然后,每一个frame中就可以用CTimeMgr::GetTime()计算出逻辑意义上的delta_time了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 06:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表