时钟中断与控制动画速度问题
											我在djjgpp里,用allegro库。主体代码差不多是这样。
 程序代码:
程序代码:
#include ...
#include ...
int timer = 0;
void myfunc()
{
     timer ? 0 : 1;
}
int main()
{
      int flag;
      ..... 
      .....
      allegro_init();
      install_keyboard();
      install_timer();
      install_init_ex(myfunc, BPS_TO_TIMER(30))       //每秒钟触发30次
      
      while(1)
      {
           if (key[KEY_A])
           {
                  if (flag != timer)
                  {
                        //动画移动
                        .............
                        flag = timer;
                  }                  
            }
            else if (key[KEY_ALT] & key[KEY_F4])
            {
                   //动画结束
                   .............
            }
      }
      ...........
      ...........
}            
就像《Allegro - 游戏程序设计库中文手册》所说的,不要在时钟处理程序里写太多的复杂代码: 一个基本的规则是你应该设置 一些标志然后在你的主控制循环里来回应它们.
那在我的主控循环里检测那些标志的方法,像我这样是不是就可以了。还有没有更有效,更好的方法?
[[it] 本帖最后由 Iam070 于 2008-4-27 18:21 编辑 [/it]]



 
											





 
	    

 
	

 
										
					
	