cocos-lua,方形进度条且粒子与进度条要完全结合

本文探讨了两种实现粒子效果与进度条同步显示的方法。方案一利用粒子跟随进度条,但存在速度不均匀的问题;方案二则通过粒子匀速运动,结合调度器计算粒子位置角度,设置进度条百分比,实现视觉上的同步效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.方案一:粒子跟着进度条走(能同步)

缺点:矩形进度条,用progressTimer旋转,根据物理知识,物体旋转,离圆心最近速度越慢,越远越近,所以速度不是以匀速动

具体代码查询cocos论坛,问题答复:https://forum.cocos.com/t/cocos2d-x-lua-l/75281

2.方案二:进度条跟着粒子走,让粒子匀速,然后开启调度器,获取粒子位置,求出角度,设进度条百分比,达到同步匀速效果

调度器开启之后的核心代码:

scheduler.scheduleUpdateGlobal(function(dt)

local x1,y1 = self.particle:getPosition()

local x,y = x1- self.progressBg:getContentSize().width/2,y1-self.progressBg:getContentSize().height/2

local a = math.atan2(y, x) / math.pi * 180

local b = (a + 270) % 360-- 求出进度条的角度

 m_progressBox:setPercentage(b/360 * 100)--把算出的进度,设给进度条

end)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值