Appearance
概述
通过 viewer.scene.pick() 可以获取当前事件操作的具体实体对象与图元对象。
javascript
const handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas)
handler.setInputAction(function (e) {
const pick = viewer.scene.pick(e.position)
if (Cesium.defined(pick)) { // 不是实体或图元时,pick是undefined
if (pick.id === entity) {
entity.rectangle.material = Cesium.Color.BLUE.withAlpha(0.5)
} else if (pick.primitive === primitive1) {
primitive1.appearance.material = Cesium.Material.fromType('Color', {
color: Cesium.Color.YELLOW.withAlpha(0.5)
})
} else if (pick.primitive === primitive2) {
primitive2.getGeometryInstanceAttributes('rect3').color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.GREEN.withAlpha(0.5))
}
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK)