1. 일반적인 모범 사례는 없습니다.
게임에 많은 (복잡한 모양의) 요소, 파티클 등이 있다면 비트 맵 버퍼 접근 방식이 훨씬 빨라질 것입니다. 비트 맵 버퍼는 스프라이트의 복잡성이 증가함에 따라 확장 성이 향상됩니다. 벡터 렌더러 는 더 복잡한 모양이나 트윈 (모양 트윈) 애니메이션으로 느려질 수 있지만 다음과 같은 장점이 있습니다.
- 애셋을 자유롭게 스케일링하거나 품질 손실없이 장면을 확대 할 수 있습니다.
- 회전 또는 기울이기 같은 다른 변형은 벡터 그래픽에서 훨씬 쉽게 수행 할 수 있습니다.
결론적으로 그것은 어떤 종류의 게임을 만들고 있는지에 달려 있습니다.
2. 비트 맵 스프라이트 시트 대신 MovieClips 사용
AS3 Sprite 클래스가 아닌 "비트 맵 스프라이트 시트"를 의미한다고 생각 하십니까?
이것은 실제로 차이를 만들지 않습니다. 언제든지 MovieClip 기반 애니메이션을 애니메이션 비트 맵으로 바꿀 수 있습니다. 동영상을 프레임으로 내보내 수동으로 스프라이트 시트로 바꾸 거나 런타임에 MovieClip에서 스프라이트 시트를 렌더링하여 동적으로 만듭니다. 이 작업을 수행하는 방법은 다음과 같습니다.
- MovieClip의 인스턴스와 그 인스턴스를 만듭니다
stop()
.
new BitmapData
영화 클립과 폭과 높이가 같은 객체를 만듭니다 .
- 사용 무승부 () 의 BitmapData에 무비 클립을 렌더링하는 방법을.
- BitmapData 객체를 배열 또는 벡터에 저장합니다.
- MovieClip의 다음 프레임으로 이동하여 2-4 단계를 반복하십시오. MovieClip의 마지막 프레임에 도달 할 때까지이 작업을 수행하십시오. MovieClip 프레임 의 최대 너비 와 최대 높이 로 두 개의 변수를 업데이트하는 것이 좋습니다 (프레임마다 다를 수 있으므로).
- 이제 저장된 모든 BitmapData 객체를 Sprite-Sheet에 결합 할 수 있습니다 ( BitmapData.copyPixels () 사용 ).
3. 스프라이트 기반 애니메이션
첫 번째 질문에 대한 답변에서 언급했듯이 그것에 대한 명확한 대답은 없습니다. 예를 들어 객체로 많은 변형을 수행해야하는 경우 스케일링 및 회전 플래시 네이티브 렌더러를 사용하면 더 나아질 것입니다. 당신이있어 경우 (수동 또는 동적) - 시트를 스프라이트 구운 할 수 있습니다 애니메이션을 미리 정의, 그리고 동시에 스프라이트의 수백을 표시해야하는 경우, 다음 비트 맵 렌더링 엔진 이동합니다.