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>







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

unity4.6 UGUI做技能CD(补充篇)

哇咔咔,
  • u014313341
  • u014313341
  • 2014年11月12日 16:17
  • 2786

[cocos2d-x] --- 实现Dota技能冷却效果

Cocos2d-x学习交流群:140326755  Email : hahayacoder@gmail.com   1 在CSDN上看到某同学实现的Dota技能冷却效果,自己平时也玩Dota,也...
  • qiurisuixiang
  • qiurisuixiang
  • 2013年04月09日 20:35
  • 5885

cocos2d-x UI之技能冷却按钮

 技能冷却的效果跟魔兽世界中的技能冷却类似,功能如下: 技能图标点击时会有按下效果,抬起后开始冷却计时,冷却计时技术后该图标才可以再次进行点击。 对应的图片资源:     注意...
  • zhanghefu
  • zhanghefu
  • 2014年07月27日 07:30
  • 2243

Unity3D UGUI实现冷却时间的技能图标

哟哟哟,UGUI实现这个功能特别的简单。利用了Image组件的功能,接下来就为大家一步步实现这个小技能。先为大家介绍一下Image组件的ImageType属性。 (1)Simple:        ...
  • u011494514
  • u011494514
  • 2016年07月29日 21:01
  • 1401

unity3d UGUI制作技能cd效果

使用UGUI简单实现技能cd效果using UnityEngine; using System; using System.Collections; using UnityEngine.UI; pu...
  • xzr1526
  • xzr1526
  • 2016年09月21日 11:18
  • 1379

unity3d技能冷却cd(最后一篇)

大家好,小弟又来了
  • u014313341
  • u014313341
  • 2014年11月10日 15:09
  • 1420

Cocos2d-x 实现技能冷却效果

CD动画,也就是技能冷却。 下面先看看 http://blog.csdn.net/z104207/article/details/8059098 中对技能冷却的介绍和实现! 介绍:技能冷却的效果跟...
  • Crayon_DyS
  • Crayon_DyS
  • 2013年09月06日 21:15
  • 3446

实现Dota技能冷却效果

1 在CSDN上看到某同学实现的Dota技能冷却效果,自己平时也玩Dota,也很好奇技能冷却的效果是怎么实现的,所以就尝试着实现了下   2 其实技能CD的原理很简单:准备两张图片,一张明...
  • sun___shine
  • sun___shine
  • 2015年08月20日 17:32
  • 517

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

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

技能冷却图标

常见的技能冷却效果:技能图标变异色,扇形步进逐渐恢复。实现用到shader。下面2种情况,第二种是扩展了Image,可以在stage场合中使用。 代码1: /** * 原理是用多个多边形组成类圆形的...
  • u010464297
  • u010464297
  • 2015年12月17日 21:41
  • 713
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:quick3x_技能CD按钮实现(进度条)
举报原因:
原因补充:

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