2013-10-06 4 views
2

wpf의 스프라이트 시트에서 애니메이션 스프라이트를 만들려고합니다. 현재 사용하고있는 기술은 애니메이션의 모든 프레임을 포함하는 이미지를 별도의 이미지로 분해 한 다음 스왑하는 것입니다.WPF 스프라이트 시트 애니메이션

그러나 이것은 메모리 비용이 많이 들고 이미지를 분할하는 대신 이미지 섹션을 그리는 방법 (소스 사각형 지정)이 있는지 궁금합니다.

+2

도움이 될 수 있도록 몇 가지 코드를 게시해야합니다. – Aybe

+0

어쩌면 만약 당신이'Path'로 변환 할 수 있다면 – Tico

+0

여기에 내가 사용하고있는 현재 기술을 설명하는 링크가 있습니다 : http://programmingwithkinect.wordpress.com/2013/04/09/sprite-animation-in-wpf-c/ –

답변

1

분명히 할 수 있습니다. 이 기능을 WPF의 내장 애니메이션 시스템에서 지원하려면 종속성 속성에 애니메이션을 적용해야합니다. 귀하의 경우에는 DiscreteRectKeyFrame 클래스를 사용하여 RectAnimationUsingKeyFrames을 사용하여 CroppedBitmapSourceRect 속성에 애니메이션을 적용하려는 것으로 보입니다. 당신은 당신이이 CroppedBitmap-Source 숙박 시설의 설정 것 인 Image 요소를 사용하여 이미지를 표시하는 경우

후 자른 비트 맵은 Source 속성은 BitmapImage로 설정해야합니다. 자른 비트 맵은 표준 비트 맵을 래핑하고 자르기 기능을 추가합니다.

+0

사실 저는 SourceRect 속성이 Rect가 아니라 Int32Rect임을 깨달았습니다. 이것은 조금 더 까다로울 것입니다 ... –

+0

CroppedBitmap은 불행히도 꽤 불변합니다 :/ –

+0

맞습니다. 'ObjectAnimationUsingKeyFrames'를 사용하여 속성을 애니메이트 할 수 있었지만 BeginInit 및 EndInit 외부의 속성에 대한 변경 사항은 무시됩니다. –

관련 문제