Cesium之动画原理(CallbackProperty)
CallbackProperty是一个类,其值由回调函数延迟计算。也就是说它在不断地自我调用,每当期返回的对象有改变,就抛出改编后的值。
利用这种特性,我们就可以在定义材质时,用CallbackProperty生成动态的对象赋值给材质参数,就可以得到动态材质的效果。
例子:
1.动态随机颜色材质
let aniMaterial = newCesium.ColorMaterialProperty(new Cesium.CallbackProperty(function() {returnCesium.Color.fromRandom({
minimumRed :0.75,
minimumGreen :0.75,
minimumBlue :0.75,
alpha :1.0});
},false))
2.配合cesium材质可以使用canvas绘制图片加载材质的方式,可以做拖尾效果的材质
//先添加两个canvas画布//因为画布内变化CallbackProperty监控不到,所以用两个画布切换的方式达成效果
let link = document.createElement('canvas')
link.style.width= '700px'link.style.height= '100px'link.setAttribute('class', 'canvas')
link.setAttribute('id', 'canvas-a')this.$refs.mainDiv.appendChild(