加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用cocos2dx实现一个秒表级的计时器。

发布时间:2020-12-14 20:15:51 所属栏目:百科 来源:网络整理
导读:待解决问题:如何用cocos2dx实现一个毫秒级的计时器效果? 是否将毫秒部分做成动画就可?选取大概30个数做成帧动画? 求一个成熟的解决方案。 先看下我实现秒级计时器的方法,抛砖引玉。 复制代码 问题:如何用cocos2dx实现一个毫秒级的计时器效果? 是否将


待解决问题:如何用cocos2dx实现一个毫秒级的计时器效果? 是否将毫秒部分做成动画就可?选取大概30个数做成帧动画? 求一个成熟的解决方案。


先看下我实现秒级计时器的方法,抛砖引玉。


复制代码
  1. 问题:如何用cocos2dx实现一个毫秒级的计时器效果? 是否将毫秒部分做成动画就可?选取大概30个数做成帧动画? 求一个成熟的解决方案。
  2. 先看下我实现秒级计时器的方法,抛砖引玉。
  3. 复制代码
  4. // 在要实现位置,用schedule方法 调用计时器
  5. this->schedule(schedule_selector(HelloWorld::TimeCounter),1.0f);
  6. //计时函数
  7. void HelloWorld::TimeCounter(float dt)
  8. {
  9. //计数开始,转化成秒 分钟 小时
  10. nSecond++;
  11. if (nSecond==60) {
  12. nSecond = 0;
  13. nMinute++;
  14. if (nMinute == 60) {
  15. nMinute = 0;
  16. nHour++;
  17. if (nHour==24) {
  18. nHour = 0;
  19. }
  20. }
  21. //用CCLabelAtlas 方法输出
  22. //删除上次的显示,清画布
  23. removeChildByTag(STag);
  24. //将秒数 整形数转换成ascII码
  25. str[0]=48+(nSecond/10);str[1]=48+(nSecond%10);str[2]='';
  26. CCLabelAtlas* labelatlas = CCLabelAtlas::create(str,"numbers.png",12,32,46);
  27. labelatlas->setPosition(ccp(300,100));
  28. addChild(labelatlas);
  29. //labelatlas->setScale(2.0f);
  30. labelatlas->setTag(STag);
  31. CCLog("%d -- %d -- %d",nHour,nMinute,nSecond);
  32. CCLog("%d -- %d",nSecond/10,nSecond%10);
  33. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读