Cesium自定义动画
在Cesium中,我想做一个半径动态增大和缩小的圆。一开始我考虑使用requestAnimationFrame
,不断的调整半径的大小,也就是直接更改Ellipsoid
对象的长短轴大小。但是效果不理想,半径调整后这个圆会消失,然后出现调整之后的圆,给人的感觉就是“卡顿”。
直到我看到了这篇文章 Cesium的Property机制总结, 完整了这个功能。
效果图
实现原理
动态圆
semiMinorAxis
和semiMajorAxis
指定一个CallbackProperty
对象,并返回半径大小。由于要做的是要给圆,长短轴相同,可以抽出一个共同的方法getRadius()
。 在CallbackProperty
的回调函数中,不断的调整半径的大小,这个就和我们平时常用的requestAnimationFrame
一样了。颜色渐变
使用ColorMaterialProperty
,根据半径的大小,调整透明度。半径越大,透明度越高。
源码
var r = 0,up = trueconst pos = Cesium.Cartesian3.fromDegrees(120.191, 30.255, 100)const maxRadius = 50const minRadius = 10const step = 1function getRadius() {return new Cesium.CallbackProperty(function (time, result) {if (up) {r += step} else {r -= step}if (r >= maxRadius) {up = false}if (r <= minRadius) {up = true}return r}, false)}viewer.entities.add({position: pos,ellipse: {semiMinorAxis: getRadius(),semiMajorAxis: getRadius(),material: new Cesium.ColorMaterialProperty(new Cesium.CallbackProperty(function (time, result) {return new Cesium.Color(1, 0, 0, 1 - r / maxRadius)})),height: this.target[2],outline: false}})
其他
如果你还有什么问题:
- 查看 Cesium的Property机制总结,这个对动画的描述很全面。
- 在评论区发言,我会尽量提供我所知道的答案。
Cesium自定义动画相关推荐
- Cesium自定义天空盒子图片
Cesium自定义天空盒子图片 效果图 改造SkyBox代码 const {BoxGeometry,Cartesian3,defaultValue,defined,destroyObject,Deve ...
- android 自定义loading,Android自定义动画-StarLoadingView
今天来分享第二个自定义loading的动画,起了个名字叫 蹦跶的星星 ,还是老规矩先介绍,后上图. 实现效果在最后,GIF有点大,手机流量慎重. 介绍 首先声明做这个动画的初衷是为了学习和分享,所以从 ...
- html文字中横线_谈PPT课件中自定义动画应用之内容控制
本案例来源于一位资深政治教师的课件应用经验. 在她的朋友圈看到: 讲解高考政治主观题课件要这样做才好,材料全部显示完后,再把一些关键字词句用彩色字标注或横线或圆圈标注,然后再分析归纳,哪些字词句是设问 ...
- Android 动画汇总-自定义动画
为什么80%的码农都做不了架构师?>>> android自定义动画步骤 继承Animation,重写里面的initialize和applyTransformation,在ini ...
- [Android]Fragment自定义动画、动画监听以及兼容性包使用
Fragment是Android在API 11之后加入的一个组件,对提高Android开发中的布局合理性和布局效率都有很大作用,尤其是在Android平板等大屏幕设备的开发中,Fragment的引入能 ...
- 自定义动画 animate || 案例:王者荣耀手风琴效果分析
自定义动画 animate <!DOCTYPE html> <html lang="en"><head><meta charset=&qu ...
- jQuery学习笔记系列(一)——入口函数,jQuery对象和DOM对象,jQuery选择器、样式操作、效果(显示隐藏、滑入滑出、淡入淡出、自定义动画、停止动画队列)
day01 - jQuery 学习目标: 能够说出什么是 jQuery 能够说出 jQuery 的优点 能够简单使用 jQuery 能够说出 DOM 对象和 jQuery 对象的区别 能够写出常用的 ...
- 自定义动画属性java_创建酷炫动画效果的10个JavaScript库
原标题:创建酷炫动画效果的10个JavaScript库 1) Dynamics.jsDynamics.js是设计基于物理规律的动画的重要Java库.它可以赋予生命给所有包含CSS 和SVG属性的DOM ...
- Mr.J-- jQuery学习笔记(十九)--自定义动画实现图标特效
之前有写过自定义动画Mr.J-- jQuery学习笔记(十八)--自定义动画 这次实现一个小demo 图标特效 页面渲染 <!DOCTYPE html> <html lang=&qu ...
最新文章
- HDFS Java 客户端使用(Windows开发环境)
- Vertica数据库
- JavaScript复习笔记(1)——AJAX
- rhel5 配置yum到centos源
- emwin修改text字体颜色_Rggplot2 绘制带颜色条的相关性散点图
- java使用httpclient调用上传图片接口[示例]
- Android应用程序消息处理机制(Looper、Handler)分析
- spark 把一列数据合并_Spark DataFrame列的合并与拆分
- kafka消费的三种模式_kafka消费者的三种模式(最多/最少/恰好消费一次)
- 层次狄利克雷过程HDP(Hierarchical Dirichlet Processes)
- 数据分析案例:预测乳腺癌是否复发
- java新手笔记7 找最小、最大、排序
- VS的QT插件下载与qt版本下载
- 重启验证的三种形式及其解决方法
- C++车辆管理系统课程设计
- 测国外服务器速度的网站,美国服务器如何测试速度?
- 计算机组成实验箱控制信号测,计算机组成原理实验报告-杨睿.doc
- linux下安装nvm
- echarts 2.0 macarons主题安装
- 哈工大计算机学院非全日制,哈尔滨工业大学非全日制研究生上课方式
热门文章
- java设定时间实现倒计时_Java 获取当前时间及实现时间倒计时功能【推荐】
- python求组合数cnm公式_组合数公式推导Cnm = n! / [(n-m)! * m!]
- PytorchStreamReader failed reading zip archive: failed finding central directory
- Laya2.0 集成 Protobuf
- java代码实现二元一次方程
- c++某种文件格式的读取与写入范例[stl]
- 如何安装chrome wiz笔记扩展
- 三国志2霸王的大陆7个君主的战力
- 如何构建一套高可用的移动消息推送平台?
- 图像语义分割(3)- Dilated Convolutions