SVG는 웹 기반 게임에 적합한 기술 선택입니까? [닫은]

Javascript만으로 웹 기반 게임을 수행하는 데 사용할 수있는 웹 기술에 대해 읽기 시작했지만 HTML5를 사용한 SVG에 대한 피드백을 얻지 못했습니다. 실행 가능한 선택입니까? Canvas, DOM 및 CSS Transformation 등과 같은 다른 기술과 비교하여 잘 수행됩니다.



답변

SVG는 HTML5에서 지원됩니다. 플레이어가 사용하는 브라우저가 지원하는지 여부는 다른 이야기입니다.

필요에 따라 RaphaelJS를 확인해야합니다 . Raphael은 IE를 렌더링 할 때 VML 로 전환하여 IE에 SVG와 같은 지원을 제공합니다 . Raphael은 애니메이션 및 Cufon 글꼴 지원을 포함하여 많은 기능을 제공합니다. 볼만한 가치가 있습니다.

SVG는 DOM의 일부이므로 “click”및 “hover”와 같은 DOM 이벤트를 생성 된 SVG 요소에 첨부하는 것은 매우 간단합니다. 이로 인해 스프라이트 애니메이션 등이 아닌 SVG가 HUD 유형 디스플레이에 더 적합 할 수 있습니다.

그러나 SVG와 캔버스의 상대적인 성능 특성을 결정하기 위해 많은 테스트를 거쳐야 할 것입니다.

직접적인 DOM 조작은 아마도 최악의 상황 일 것입니다. DOM에서 내용을 변경하면 브라우저의 레이아웃 엔진이 페이지의 레이아웃을 다시 계산하여 변경 사항을 수용하여 게임 성능을 저하시킬 수 있습니다. 이 경로를 따라 가야하는 경우 CSS (특히 변환 및 키 프레이밍과 같은 CSS3 기능)를 선호하십시오.


답변

에서 봐 이 웹 사이트 SVG 호환성을 참조하십시오. 지금은 최선을 다하지 않으며 쇼케이스 테스트 데모 이외의 다른 제품에는 권장하지 않습니다.

사람들이 최신의 가장 큰 브라우저를 사용하도록 기대하지 마십시오.

SVG를 사용하는 것은 큰 실수이며 사용자가 물건이 부서지는 것을 보았을 때 부끄러워 할 것이라고 생각합니다.


답변

Canvas를 사용하는 것이 훨씬 좋습니다. 둘 다 IE에서 지원되지 않으며 canvas는 실행 가능한 웹 기반 게임 기술로 알려져 있습니다. 게다가 그것은 특히 크롬 (그리고 초기 데모에 따르면 IE9에서도 렌더링 속도가 적당합니다. 최근에 시도하지는 않았습니다). 이전 버전의 IE 및 / 또는 모바일 플랫폼을 대상으로해야하는 경우 성능이 좋지 않지만 간단한 게임 (예 : Pacman ) 에는 여전히 허용되는 일반 오래된 DOM을 고수하십시오 .


답변

짧은 대답입니다.

긴 대답,

나는 여전히 IE6에 전적으로 의존하는 환경에서 일하고이 훌륭한 라이브러리를 차트로 사용했습니다. (IE6-IE8에 VML을 사용합니다) 나는 캔버스를 좋아하고 js로 게임을 작성하는 것을 선호합니다. 따라서 svg에서 게임을 만들고 싶다면 다른 게임을 사용하여 만들었습니다 (Raphael 예제 참조). 그럼에도 불구하고 여전히 JS를 사용하여 작업을 수행하므로 캔버스로 전환하려면 고통스럽지 않습니다.