#javascript #cesium
Вопрос:
От
new Cesium.PolylineGlowMaterialProperty({ glowPower: 0.15, color: Cesium.Color.fromCssColorString("rgba(42,92,170, 0.15)") });
Для
new Cesium.PolylineGlowMaterialProperty({ glowPower: 0.3, color: Cesium.Color.fromCssColorString("rgba(255,255,255, 0.15)") });
Есть ли способ изменить все материалы в целом?
Ответ №1:
Я думаю, вам нужно будет перебрать все объекты, но вы, вероятно, не захотите выделять новые PolylingGlowMaterial
для каждого из них, так как это может быть медленным. Вместо этого попробуйте изменить значение существующего материала. Предполагая, что это «постоянное» (не изменяющееся во времени) свойство, как показано выше, setValue
доступно. Это звучит примерно так:
entity.polyline.material.glowPower.setValue(0.3); entity.polyline.material.color.setValue(Cesium.Color.WHITE.withAlpha(0.15));
Я также показал другой способ получить тот же цвет здесь, не спрашивая Цезия о разборе 10000 цветовых строк. Если все 10000 объектов одного цвета, вы должны выделить этот цвет до начала цикла и просто раздать тысячи ссылок на него, а не повторять его в цикле.