cocos2dx-lua 之 ProgressTimer 条形进度条 简单血条的实现

cocos2dx-lua 之 ProgressTimer 条形进度条 简单血条的实现,第1张

概述cocos2dx-lua 简单血条的实现 所用资源: blood_bg.png :    blood_red.png  直接贴代码: local BloodProgressBar = class("BloodProgressBar", function ( ) return cc.Node:create()end)function BloodProgressBar:create( )

cocos2dx-lua 简单血条的实现

所用资源:

blood_bg.png : blood_red.png

直接贴代码:

local BloodProgressbar = class("BloodProgressbar",function (  )	return cc.Node:create()end)function BloodProgressbar:create(  )	local bloodProgressbar = BloodProgressbar:new()	bloodProgressbar:getVIEws()	return bloodProgressbarendfunction BloodProgressbar:ctor(  )	endfunction BloodProgressbar:getVIEws(  )		--血条背景	local bloodEmptyBg = cc.Sprite:create("ui/blood_bg.png")	bloodEmptyBg:setAnchorPoint(cc.p(0.5,0.5))	local bloodEmptyBgSize = bloodEmptyBg:getContentSize()	bloodEmptyBg:setposition(cc.p(bloodEmptyBgSize.wIDth/2,bloodEmptyBgSize.height/2))	self:addChild(bloodEmptyBg)	--血条	local bloodBody = cc.Sprite:create("ui/blood_red.png")	--创建进度条	local bloodProgress = cc.Progresstimer:create(bloodBody)	bloodProgress:setType(cc.PROGRESS_TIMER_TYPE_bar) --设置为条形 type:cc.PROGRESS_TIMER_TYPE_RADIAL	bloodProgress:setMIDpoint(cc.p(0,0)) --设置起点为条形坐下方	bloodProgress:setbarChangeRate(cc.p(0,1))  --设置为竖直方向	bloodProgress:setPercentage(0) -- 设置初始进度为30	bloodProgress:setposition(cc.p(bloodEmptyBgSize.wIDth/2,bloodEmptyBgSize.height/2))	self:addChild(bloodProgress)	--让进度条一直从0--100重复的act	local progressto = cc.Progressto:create(5,100)	local clear = cc.CallFunc:create(function (  )		bloodProgress:setPercentage(0)	end)	local seq = cc.Sequence:create(progressto,clear)	bloodProgress:runAction(cc.RepeatForever:create(seq))endreturn BloodProgressbar

运行效果如下图所示:



解释:

主要有三点可以设置:

(1)设置进度条类型的方法:setType( 参数 )

参数:

cc.PROGRESS_TIMER_TYPE_bar 条形
<pre name="code" >type:cc.PROGRESS_TIMER_TYPE_RADIAL 圆形
  


(2)进度条方向和起点:

设置进度条方向的方法:setbarChangeRate(参数)

设置进度条起点的方法:setMIDpoint(参数)


设置进度条方向为水平方向:

setbarChangeRate(cc.p(1,0))

水平方向时起点有两个方向:从左到右和从右到左

setMIDpoint(cc.p(0,0)) OR setMIDpoint(cc.p(0,1)) 这两个是从左到右 即x为0

setMIDpoint(cc.p(1,0)) ORsetMIDpoint(cc.p(1,1)) 这两个是从右到左 即x为1


设置进度条方向为竖直方向:

setbarChangeRate(cc.p(0,1))

竖直方向时起点有两个方向:从上到下合从下到上

setMIDpoint(cc.p(0,1)) OR setMIDpoint(cc.p(1,1)) 这两个是从上到下 即y为1

setMIDpoint(cc.p(0,0)) 这两个是从下到上 即y为0


设置进度条方向为两个方向同时运动:

setbarChangeRate(cc.p(1,1))

两个方向的运行情况有4种:左下到右上、右下到左上、左上到右下、右上到左下

setMIDpoint(cc.p(0,0)) 左下到右上

setMIDpoint(cc.p(1,0)) 右下到左上

setMIDpoint(cc.p(0,1)) 左上到右下

setMIDpoint(cc.p(1,1)) 右上到左下


(3)设置进度条的进度:setPercentage(参数)

参数为0~~~~100的值。


执行进度条值变化的动作:

local progressto = cc.Progressto:create(5,100)

[ProgressNode]:runAction(progressto)

总结

以上是内存溢出为你收集整理的cocos2dx-lua 之 ProgressTimer 条形进度条 简单血条的实现全部内容,希望文章能够帮你解决cocos2dx-lua 之 ProgressTimer 条形进度条 简单血条的实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1015951.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存