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

来源:互联网 发布:影片制作软件 编辑:程序博客网 时间:2024/05/15 13:25
<span style="font-size:18px;">function BattleUi:petBtnCD()if #self.petImages == 0 then return endlocal cdTimer = 3 --TODOlocal CDImage = display.newSprite(ResourceManager.ImageName(ResourceDef.IMAGE_SKILL_CD_GRAY))if CDImage == nil thenreturnendCDImage:setPosition(self.petBtn:getPosition())self:addChild(CDImage,11)CDImage:setScale(0.8)local progress = cc.ProgressTimer:create(self.petImages[1])if progress == nil thenreturnendprogress: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 thenprogress:runAction(seq)endend</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>







0 0
原创粉丝点击