CircleEmitter
是一个基于 Cesium.js
的类,用于在三维场景中生成圆形粒子效果。
通过 CDN 引用,将以下代码添加到 HTML 文件中即可使用:
<script src="https://cesium.com/downloads/cesiumjs/releases/1.84/Build/Cesium/Cesium.js"></script>
<link rel="stylesheet" href="https://cesium.com/downloads/cesiumjs/releases/1.84/Build/Cesium/Widgets/widgets.css">
创建 CircleEmitter
实例:
const viewer = new Cesium.Viewer("cesiumContainer");
const emitter = new Cesium.CircleEmitter({
center: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 100),
radius: 250.0,
particleLife: 5.0,
});
将 emitter
添加到 Viewer
中(如果需要):
viewer.scene.primitives.add(emitter);
调用 emitter.start()
方法启动粒子效果:
emitter.start();
CircleEmitter(options)
创建一个 CircleEmitter
实例。
接受一个对象作为参数,对象包含以下属性:
属性名 | 类型 | 默认值 | 描述 |
---|---|---|---|
center |
Cesium.Cartesian3 |
必需 | 圆心位置。 |
radius |
Number |
必需 | 圆的半径。 |
particleLife |
Number |
5.0 | 粒子生命周期(以秒为单位)。 |
particlesPerSecond |
Number |
5.0 | 每秒生成粒子的数量。 |
emitterModelMatrix |
Cesium.Matrix4 |
undefined |
用于定位发射器的矩阵。 |
emitterModelMatrixFunc |
Function |
undefined |
从时间中获取位置、方向和缩放因子的回调函数。 |
emitterWidth |
Number |
undefined |
沿方向轴的最大宽度, 以米为单位。 |
emitterShape |
Number |
0 |
发射器表面的形状。0:圆形,1:方形,2:球形,3:盒形。 |
minimumParticleSize |
Number |
1.0 | 粒子的最小大小(以像素为单位)。 |
maximumParticleSize |
Number |
5.0 | 粒子的最大大小(以像素为单位)。 |
image |
String |
undefined |
粒子的图片路径。 |
color |
Cesium.Color |
Cesium.Color.WHITE |
粒子的颜色。 |
minimumSpeed |
Number |
1.0 | 粒子的最小速度(以米/秒为单位)。 |
maximumSpeed |
Number |
30.0 | 粒子的最大速度(以米/秒为单位)。 |
lifeTime |
Number |
undefined |
发射器的生命周期。如果未定义,则发射器将持续到手动停止或重置。 |
CircleEmitter.prototype.start()
启动粒子效果。
CircleEmitter.prototype.stop()
停止粒子效果并清空粒子。
CircleEmitter.prototype.reset()
重置粒子效果。
CircleEmitter.prototype.update(time)
更新粒子效果。
接受一个以秒为单位的时间值作为参数,用于更新粒子生命周期和位置。
CircleEmitter.prototype.show
设置或获取粒子效果的可见性属性。
emitter.show = true; // 显示粒子
emitter.show = false; // 隐藏粒子
const isVisible = emitter.show; // 获取粒子的可见性状态