quick3x_技能CD按钮实现(进度条)
<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>







阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Q838352961/article/details/46792249
个人分类: quick-cocos2d-x
想对作者说点什么? 我来说一句

unity3d技能冷却实现工程源码

2015年04月02日 48B 下载

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭