(Flutter) 플러터로 게임 만들어보기 02 - 애니매이션 처리 (with flame)

지난 글 - 플러터로 게임 만들어보기 01에 이서서 이번에는 배경 이미지의 움직임 효과와 드래그 액션에 따른 각 상태에 맞는 플레이어 컴포넌트 애니매이션 처리 방법에 대해 알아보겠습니다.

더보기

(Flutter) BLoC 패턴 #1

Flutter 개발에 있어서 상태관리는 반드시 필요한 부분이고 상태관리에 도움되는 패키지는 여러가지가 존재합니다. 대표적으로 Provider, GetX, BloC 패키지들이 존재하는데 이 패키지들은 모두 비즈니스 로직분리를 목표로 BLoC패턴 기반으로 되어 있습니다. 이번 글에서는 BLoC패턴이 무엇이고, 왜 사용되는지 그리고 BLoC패턴을 구현하기 위해선 어떻게 구현해야 하는지 알아보겠습니다.

더보기

(WPF) Async network image

WPF 기본 Image컨트롤은 네트워크상 이미지 표시를 지원합니다. <Image Source="url"/> 그런데 용량이 큰 고해상도 이미지인 경우 렌더링 과정이 동기 처리되기 때문에 UI가 멈추는 상황이 발생 합니다. 또한 로컬 파일 캐시 처리가 없기 때문에 프로그램 종료 후 해당 화면이 표시 될때는 다시 위와 같은 똑같은 상황이 발생 됩니다. 이러한 상황을 해결하기 위해 이미지를 비동기로 다운받아서 표시 되도록 커스텀 컨트롤을 만들어 사용할 수 있습니다. 추가로 한번 받은 이미지는 더 이상 변경될 가능성이 없다면 로컬 파일로 저장해두었다가 로컬 파일 이미지를 load하도록 처리 되도록 하면 성능...

더보기

(WPF) ICustomTypeDescriptor를 사용한 동적 바인딩

WPF에서 데이터 바인딩을 통해 개체를 참조하는 방식을 크게 세 가지 방식으로 제공하고 있습니다. 첫 번째는 이 글에서 알아볼 System.ComponentModel.CustomTypeDescriptor 와 System.ComponentModel.INotifyPropertyChanged 를 구현하여 리플렉션을 이용해 속성 특성을 검색하고 변경 알림을 사용하는 방법이고 두 번째는 System.ComponentModel.INotifyPropertyChanged 구현으로 특정 속성의 변경 알림만 구현해 주면 데이터 바인딩 엔진 자체에서 리플렉션을 사용하고 필요한 속성을 참조합니다. 이 경우 자체적으로 Lightwe...

더보기