粒子效果
鸿蒙地图SDK支持在地图上展示粒子效果,目前支持:雪花、雷雨、雾霾、沙尘、烟花、花瓣多种效果展示及自定义粒子效果。
示例代码
// 添加雪花粒子效果this.mapController?.showParticleEffectByType(SysEnum.ParticleEffectType.Snow);private async createBitmapDescriptor(res: Resource): Promise<image.PixelMap> {const context = getContext();const uint8 = await context.resourceManager.getMediaContent(res.id);const buffer = uint8.buffer.slice(uint8.byteOffset, uint8.byteOffset + uint8.byteLength);const imageSource = image.createImageSource(buffer);const decodingOptions: image.DecodingOptions = {editable: false,desiredPixelFormat: 3,};const pixelMap = await imageSource.createPixelMap(decodingOptions);imageSource.release();return pixelMap;}// 添加自定义粒子效果const particleOptions = new ParticleOptions();const position = new LatLng(39.914935, 112.403119);particleOptions.setParticlePos(position);const particleImgs: Array<image.PixelMap> = [];const bullet = await this.createBitmapDescriptor($r('app.media.icon'));const tail = await this.createBitmapDescriptor($r('app.media.icon'));particleImgs.push(bullet, tail);particleOptions.setParticleImgs(particleImgs);await this.mapController?.customParticleEffectByType(SysEnum.ParticleEffectType.Fireworks,particleOptions);// 关闭粒子效果this.mapController?.closeParticleEffectByType(SysEnum.ParticleEffectType.Snow);
展示效果如下:
上一篇
下一篇
本篇文章对您是否有帮助?