2017-02-28 1 views
1

가 어떻게 키 누름, keydowns을 듣고 가야한다 이벤트 및 말의 keyups 반응? ScreenSpaceEventHandler(element).setInputAction(action, type, modifier)의 문서에서<kbd></kbd> 또는 <kbd>Alt 키,</kbd> + <kbd></kbd>를 검색 및 사용자 정의 키보드 입력

, typemodifier 각각 유형 ScreenSpaceEventTypeKeyboardEventModifier이어야한다는 다음 내 목적을 위해 사용 가능한 이벤트의 다소 제한된 세트에있는 양입니다.

답변

1

ScreenSpaceEventHandler은 화면 공간과 관련된 입력 이벤트 (마우스, 터치 및 포인터 이벤트)에만 해당됩니다. ALT + 과 같은 키보드의 경우 키보드 , keypress 등과 같은 JavaScript 네이티브 keyboard events 만 사용하십시오. 이러한 이벤트를 수신하려면 세슘의 도움이 필요하지 않습니다.

당신은, 그러나, 입력 포커스를받을를 사용하려면 세슘 캔버스에 tabindex을 적용해야합니다

var viewer = new Cesium.Viewer('cesiumContainer'); 
var canvas = viewer.canvas; 
canvas.setAttribute('tabindex', '0'); // needed to put focus on the canvas 

당신은 Cesium Camera Tutorial이 전체 작업 예제를 찾을 수 있습니다. 카메라를 이동 , S, D, 세계 자체에 클릭 한 다음 W 를 사용합니다.

+0

'viewer.canvas'와'viewer.scene.canvas'의 차이점은 무엇입니까? – Slaiyer

+1

장면이 캔버스를 "소유"합니다. 뷰어의'canvas' 속성은 장면의 캔버스에 대한 바로 가기입니다. 그 문제에있어서'scene' 속성 자체도 바로 가기입니다 : 뷰어가 CesiumWidget (및 다른 여러 위젯)을 소유하고 CesiumWidget이 장면을 소유하고 장면이 캔버스를 소유합니다. – emackey