通过setInterval控制闪烁频率,CallbackProperty改变实体颜色。
const twinkle = (val: any) => {
let platform = viewer.value.entities.getById(val["id"]);
let flog = true;
let x = 1;
let callbackProperty = new Cesium.CallbackProperty(function () {
if (flog) {
x = x - 0.05;
if (x <= 0) {
flog = false;
}
} else {
x = x + 0.05;
if (x >= 1) {
flog = true;
}
}
return Cesium.Color.RED.withAlpha(x);
}, false);
redTwinkleTimer.value = setInterval(() => {
if(platform){
platform.billboard.color = callbackProperty;
}else{
redTwinkleTimer.value =null
}
}, 500);
}
欢迎补充,一起进步。