设置了定时器,不知道如何暂停的时候把定时器也一起暂停

解决方案 »

  1.   

    推箱子游戏VC6源代码 仓库番游戏VC6源代码 http://download.csdn.net/detail/zhao4zhong1/3230945
      

  2.   

    直接KillTimer,重新开始时再SetTimer,具体参数查阅MSDN
      

  3.   

    定时器没有办法暂停,不过可以KillTimer杀掉定时器,然后继续的时候,重新SetTimer创建定时器
      

  4.   

    可以定义一个变量,比如:
    bool m_pause;
    在开始游戏的时候置为true:
    m_pause=false;
    SetTimer(...);
    在OnTimer()里:
    if(!m_pause)
      process_my_task();
    这样,在暂停的时候,直接置m_pause为true就可以了重新开始的话,需要两部分的操作:
    1. 置m_pause为true
    2. 复位所有的游戏变量
    3. 置m_pause为false
    其实更好的方法是新定义一个变量,比如bool m_rest,在开始游戏的时候置为false:
    m_pause=false;
    m_reset=false;
    SetTimer(...);
    在OnTimer()里:
    if(m_reset)
    {
       reset_all_things();
       m_reset=false;
    }
    if(!m_pause)
      process_my_task();
    在需要重新开始的时候,只需要:
    m_reset=true;
    就行了
      

  5.   

    你在你的游戏帧处理函数里最开头
    加一个静态变量判断是否暂停:
    若它是true,直接return;
    否则执行函数。