이번에는 미스터백님의 블로그에 있는 스프라이트 애니메이션 구현방법에 대해서 배워 봅시다.ㅋ

일단 게임의 구현이 있어서 가장 중요한 그림을 연속해서 보여주면서 움직이는 효과를 내야됩니다.

그럼 몇장의 사진을 차례대로 출력하면 될텐데...그 방법에 대해서 알아봅시다.

이 이미지 인데요 4개를 연속해서출력하면
움직이는 거 처럼 보일겁니다 + _ +

자 해봅시다.ㅋㅋ

사용자 삽입 이미지


사용자 삽입 이미지










자 일단 무엇무엇을 할거라고 저장공간을 마련해줍시다.

이걸 구현하는데 있어서 필요한것은 이미지가 4개 있는데 각 이미지 좌표를 설정해서
여기여기여기를 출력하라고 말할겁니다.
4장이 붙어서 있으니까 한장한장이아니라 그 이미지안에서 좌표값에 따라 출력시키면
되겠습니다.

그럼 먼저 해야될 작업이
차례대로 이미지 저장공간을 마련하구요 좌표값 저장할 부분 설정하구요~
현재 이미지가 몇번째인지 알게할 anim을 설정하고 총 이미지 갯수도 설정합니다.

자이제 설정한 공간에 값을 넣어봅시다.


사용자 삽입 이미지














Initialize()
초기화를 담당하는 곳에 가서 값을 넣어 줍시다.

 flightrect = new Rectangle[4];
총 4개의 좌표값을 넣어주겠습니다.
anim은 0으로 초기화 시키고 총 이미지숫자는 4개입니다.

new Rectangle (엑스좌표,와이좌표,가로크기,세로크기입니다.)
 flightrect 0번~4번까지 고유 좌표 값을 넣어놨습니다.


사용자 삽입 이미지










이미지 로드해주시구요~


사용자 삽입 이미지


Update 실시간으로 계속 실행되는 구문이라고 생각하시면됩니다.~
anim의 수치를 1식 더해주시구요 ++
그리고 if로 이미지갯수보다 수치가 올라가면 다시 0으로 만들어줍니다.

이제 출력하면 되겠습니다.


사용자 삽입 이미지











spriteBatch.Draw(imgflight, Vector2.Zero,flightrect[anim], Color.White);
spriteBatch.Draw(이미지경로, 그림위치 ,그림내좌표,색깔);

여기서 주목할 것은 그림내좌표 설정인데요 flightrect[anim] 이거입니다.
우리가 배열로 아까 flightrect[0~4]까지 좌표값을 넣어놨습니다.
anim이 1식더해지면서 4가되면 다시0이되고 이렇게 그림내좌표가 계속 바뀌면서
그림은 움직이는 것처럼 보이게 출력됩니다.


사용자 삽입 이미지







간단하지만 꼭 숙지하고 넘어가야할 부분입니다.~컬러키도 적용시켜주시구요~ㅎ

+ Recent posts