您的位置:首页 > 产品设计 > UI/UE

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

2015-07-07 17:39 253 查看
<span style="font-size:18px;">function BattleUi:petBtnCD()if #self.petImages == 0 thenreturnendlocal 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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: