quick3x_技能CD按钮实现(进度条)

原创 2015年07月07日 17:39:25
<span style="font-size:18px;">function BattleUi:petBtnCD()
	if #self.petImages == 0 then 
		return 
	end
	local cdTimer = 3 			--TODO
	local CDImage = display.newSprite(ResourceManager.ImageName(ResourceDef.IMAGE_SKILL_CD_GRAY))
	if CDImage == nil then
		return
	end
	CDImage:setPosition(self.petBtn:getPosition())
	self:addChild(CDImage,11)
	CDImage:setScale(0.8)

	local progress = cc.ProgressTimer:create(self.petImages[1])
	if progress == nil then
		return
	end
	progress:setType(cc.PROGRESS_TIMER_TYPE_RADIAL)
	progress:setPosition(self.petBtn:getPosition())
	self:addChild(progress,12)
	local to = cca.progressTo(cdTimer, 100)
	local callBack = cca.callFunc(function ()
		CDImage:removeFromParent()
		progress:removeFromParent()

		self.petBtn:setButtonEnabled(true)
	end)
	local seq = transition.sequence({to, callBack})
	if seq ~= nil then
		progress:runAction(seq)
	end
end</span>



基本实现原理:一张灰色蒙版图,上边盖一个progress,用当前技能的ICON初始化这个progress,当然,progress的TYPE还是要设置一下,用progress执行progressTo就可以了。


刚刚用到了条形进度条,这里再记录一下:


<span style="font-size:18px;">    self.progressTop = cc.ProgressTimer:create(self:setProgressSp(self.sprites[1]))
    self.progressTop:setType(cc.PROGRESS_TIMER_TYPE_BAR)
    self.progressTop:pos(300, 200)
    self.progressTop:setPercentage(100) <span style="white-space:pre">			</span>
    self.progressTop:setBarChangeRate(cc.p(1,0)) <span style="white-space:pre">		</span>//这是变化速率
    self.progressTop:setMidpoint(cc.p(0,0.5))  <span style="white-space:pre">			</span>//设置终点位置,这里是从右往左,中点位置
    self:addChild(self.progressTop)</span>
<span style="font-size:18px;">    local to = cc.ProgressTo:create(0.3, self.progressTop:getPercentage()-30)
    self.progressTop:runAction(to)
</span>







版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【NGUI】实现半圆形进度条,技能CD效果

半圆形进度条 首先将资源图片打进atlas图集,在场景上创建一个新的sprite。资源是一张半圆形的进度条,如下图。如果要实现进度条的效果,只需实现纵向的遮挡即可。通过UISPRITE的相关属性即可...

用CEGUI绘制环形进度条和雷达扫描(技能CD)效果

CEGUI还是一套蛮好用的GUI系统的,但是有一个缺陷就是它所有的控件都是用的矩形,如果想做出不规则的图形比较麻烦。最近想出一个用CEGUI实现圆形进度条的方案。就是采用遮罩手段。       1. ...

酷!用Qt Quick实现Metro风格的进度条

啦啦啦,放假了就是好,随时都可以研究研究自己喜欢的东西。这次我要用Qt Quick打造一套Metro风格的UI,目前已经实现的是Metro的进度条和Metro开始菜单的3d质感按钮。 本文就介绍一下如...
  • unixzii
  • unixzii
  • 2014年01月28日 22:58
  • 3033

flash AS3.0实现进度条与播放暂停按钮的同步

前面我分别介绍过如何实现播放和暂停按钮以及进度条的实现,不过一般情况下需要把两者结合起来使用,因此今天在这里我就来介绍实现两者统一的方法。       以下的代码实现了通常所见的进度条和播放暂停按钮...

Cocos2d-x 3.x进度条

ProgressTimer是cocos2d提供的进度条类。 基本概念ProgressTimer派生自Node类,采用组合的方式管理一个Sprite对象。该类根据百分比来渲染显示内部的Sprite对象。...
  • hihozoo
  • hihozoo
  • 2016年02月25日 11:10
  • 319

关于cocos2d-x进度条的实现和异步加载资源

上一篇呢,介绍的是擦美女,挺好玩的,这篇咱们说一下

Cocos2d-x教程(10)-CCProgressTimer实现页面加载进度条效果

原码下载地址:http://download.csdn.net/detail/u012945598/6683161         相信大家在玩游戏的过程中都会遇到一个loading的界面,lo...

cocos2d-x之CCProgressTimer实现进度条

CCProgressTimerType类型如下: typedef enum {     /// Radial Counter-Clockwise     kCCProgressTimerTyp...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:quick3x_技能CD按钮实现(进度条)
举报原因:
原因补充:

(最多只允许输入30个字)