关闭

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

247人阅读 评论(0) 收藏 举报
分类:
<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>







0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15821次
    • 积分:436
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条