实验说明
我正在尝试使用canvas在JavaScript中制作基本粒子发射器。我有基础知识,但我无法弄清楚的一件事是如何在创建后顺利淡入颗粒,并在删除之前淡出颗粒。淡入和淡出粒子
这里是我的Particle
对象的基本版本的创建:
{
alpha: 0,
color: "blue",
velocityX: .5,
velocityY: .5,
gravity: .01,
currentLife: 1000
startLife: 1000
}
您可以查看这里的代码:https://jsfiddle.net/8g5csscf/
的数字一般都是随机的,但比较接近这些值。
每个动画帧,对象都会更新,并且粒子在屏幕上按其color
和alpha
值呈现为圆形。它的currentLife
每个动画帧减1。一旦其currentLife
为零,一个新的对象代替它。
问题和问题
我怎样才能淡入对象的概念后,其删除之前淡出出来?
我假设我可能需要使用FPS或时间更改(delta t),if语句基于startLife
的一半,但我只是不知道如何。
重要提示
是的,我知道我可以更新alpha。问题是让它淡入/淡出达到一半的生命值达到100的特定值。
目前还不清楚你想要什么。 CSS或JS解决方案?你的代码在哪里?您只发布了一个包含一些数据的对象。只需将其从0.0更改为1.0,即可获得效果 – Gavriel
@Gavriel我将在大约一分钟内更新我的问题。是的,我知道我可以更新阿尔法。问题是让它淡入/淡出达到一半的生命值达到100的特定值。 –
为什么半生?如果创建了一个粒子,那么您可能会淡入其中,但这只是将其展示给用户的一种可视方式。你可以选择它在1秒内消失。然后这个粒子可以活60秒,然后消失,并且为了视觉效果,它会消失1秒。我不明白为什么在这种情况下,你会想要淡入30秒,淡出30秒 – Gavriel