用户:
芜湖咸鱼查看:9 回复:28 评论:9 创建时间:2020-06-06T13:22:15
代码:
world.onTakeDamage(({ entity, damage}) => {
Object.assign(entity, {
particleLimit: 1000,
particleLifetime: 1,
particleRate: damage,
particleRateSpread: damage,
particleSize: 2,
particleSizeSpread: 3,
particleColor: [
new Box3RGBColor(2550, 0, 0),
new Box3RGBColor(255, 0, 0),
new Box3RGBColor(2550, 0, 0),
new Box3RGBColor(255, 0, 0),
new Box3RGBColor(2550, 0, 0),
],
particleNoise: 0,
particleNoiseFrequency: 0,
particleVelocity: new Box3Vector3(0, -3, 0),
particleDamping: 1, // 让粒子缓缓下降
});
setTimeout(() => { entity.particleLimit = 0 }, 1000)
})
主要原理:
因为粒子生成的速度是每秒速度,所以将每秒产生的粒子数量设为受到的伤害,并且在1秒后停止特效,就能实现一点伤害一个粒子(血点)
比如受到100点伤害就会有大约100个粒子出现
图片:
温馨提示:如果你想把一点伤害视为1ml血,那建议把最大血量改为4000来符合现实世界的血量(doge)
wangjunjiec刚刚我把我的血量设置为9999999999999999
结果.......使用shy哥代码大佬的代码后,...........
..............................
。。。。。。。。。。。。。。。。。。
一大堆‘血’掉了下来
.....HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
点赞0
评论