2월, 2014의 게시물 표시

Canvas element에서 key이벤트 받기

HTML5의 canvas 엘리먼트는 그래픽을 표시하기에 좋으며 마우스 관련 이벤트는 onmouse… 이벤트 핸들러를 사용하면 바로 이용할 수 있지만 키보드 관련 이벤트는 onkeydown , onkeyup 이벤트 핸들러를 등록해도 호출되지 않는다. Stackoverflow 에 따르면 canvas 엘리먼트는 기본적으로 키보드 이벤트를 받지 않도록 설계되었기 때문이며 canvas에 tabindex를 지정해 주면 이후 키보드 이벤트를 사용할 수 있게 된다. tabindex = "1000" > scala.js에서 dom 사용하는 경우에는 다음과 같이 canvas . tabIndex = 1000

implicit 형 변환 함수로 각도 변환

implicit 변환 Scala는 형을 가지고 있는 static type의 언어이지만 implicit 함수를 통해 여러 형들을 손쉽게 변환해 준다. 다음은 degree와 radian를 새로운 형으로 정의하고 degree에서 radian으로 implicit 함수를 정의해서 사용하는 예이다. implicit로 변환함수만 한번 정의해 놓고 나면 다음부터 필요한 경우 컴파일러가 자동으로 형변환을 찾아서 삽입해준다. type Degree = Int // 필요에 따라 Double형으로 정의 type Radian = Double implicit def deg2rad ( d : Degree ): Radian = d * math . Pi / 180 val r : Radian = 45 : Degree // 0.785