首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于游戏技能冷却图标有关问题

2013-01-28 
关于游戏技能冷却图标问题就是点击一下技能,冷却图标会出现像时钟一样的倒计时(比如英雄联盟里的技能CD),

关于游戏技能冷却图标问题
就是点击一下技能,冷却图标会出现像时钟一样的倒计时(比如英雄联盟里的技能CD),这个用函数怎么实现啊,怎么出现时钟的效果啊!!
[解决办法]


你说的这种cool,一般都是现成控件自带的功能。
假如:
  MFC(没用过,不太清楚,大致差不多)
  自己写一个控件,继承BaseControl.. 
  更新函数
  void update(float Elapse)
{
   BaseControl::update(Elapse);
   if(m_haveTime>coolingTime )
  {
   return;
    .......
  }
   m_haveTime += Elapse;
   DrawCoolImage(); // 依据圆周率,绘图.. 绘图函数自己实现
}
 设置冷却时间 setcooling(f){ coolingTime =f; }
 过去的时间:float m_haveTime;
 计算圆周率m_RecoverVelovity = 2*Math::PI/coolingTime;
DrawCoolImage()
{
  float angle = m_RecoverVelovity* m_haveTime // 角度
  // 绘遮罩图.. 
}



[解决办法]
没做过,不太了解,不过可以自己实现一个简易的
比如促发技能时Skill()记录下当前Timer,设置SetTimer每秒检测一次在另一个UpdateSkill中根据流逝时间判断进度并绘图百分比是可以实现的。

热点排行