반응형
본인이 사용하려고 하는 2D 군인 Asset의 여러 가지 애니메이션을 적용하려면
배포받은 PNG 파일의 일부분을 프레임별로 잘라가며 업데이트하며 마치 하나의 애니메이션이 동작하는 것과 같은 효과를 주어야 한다는 것을 알게 되었다.
헌데 많은 강의 영상에서는 BMP 파일들을 예제로 사용하고 있었기에, 본인이 가지고 있는 PNG 파일로는 TransparentBlt 함수가 적용이 안되는 이슈가 있어서 어쩔 수 없이 다른 방법을 찾아야 했다.
GDI+ 모듈을 사용하여 이 문제를 해결했는데, 어떻게 해결했는지 살펴보자.
DrawImage 함수
- image는 말 그대로 집어넣을 image pointer를 의미한다.
- x는 사진을 갖다놓을 화면의 x좌표를 의미한다.
- y는 사진을 갖다놓을 화면의 y좌표를 의미한다.
- srcx는 사진의 어느 부분부터 나타낼 것인지에 대한 x좌표를 의미한다.
- srcy는 사진의 어느 부분부터 나타낼 것인지에 대한 y좌표를 의미한다.
- srcWidth는 srcx부터 시작해서 얼마만큼의 width를 표현할 것인지 나타낸다.
- srcHeight는 srcy부터 시작해서 얼마만큼의 height를 표현할 것인지 나타낸다.
위 함수를 Tick마다 일정의 딜레이를 주고 불러준다면, 마치 캐릭터가 움직이는 것과 같은 모션을 줄 수 있다 (영상 참조)
반응형
'게임 엔진 개발' 카테고리의 다른 글
[게임 엔진 개발] - SetColorKey()를 통한 특정 RGB값 지우기 (0) | 2024.07.11 |
---|---|
[게임 엔진 개발] - Resource 처리 / 순수 가상함수 (1) | 2024.07.03 |
[게임 엔진 개발] - GDI PLUS 사용하기 / 초기화 (2) | 2024.07.02 |
[게임 엔진 개발] - 컴포넌트 구조 (0) | 2024.07.02 |
[게임 엔진 개발] - 더블버퍼링 기법 (화면 그리기) (1) | 2024.07.01 |