본문 바로가기
스크래치/스크래치 디펜스

스크래치로 팔라독 같은 게임 만들기- 8. 캐릭터 애니메이션 추가(끝)

by 할거없네 2017. 11. 10.

안녕하세요. 승승이 입니다.

지금까지 모든 뼈대를 만들었습니다. 이제는 살을 이어 붙일 시간이네요.

게임에서 어지간히 중요한 기능을 만들면 이제 없어도 되는 그러한 부가적인 것들을 추가해야합니다.

그 중 하나가 애니메이션입니다. 오히려 프로그래밍의 외적으로 많은 시간을 들이게 되서 개인적으로는 이 부분이 시간도 너무 많이 먹고 진행도 주춤하게 되는 요인이 되어서 좀 더 효율적으로 그래픽 작업하는 방법도 연구가 필요할 거 같습니다.

이 프로젝트에서는 애니메이션에 많은 투자를 안하고 간단하게 2개 모션만 사용해서 만들어 볼까 합니다. 이동모션이나 공격모션이 그림이 2장만 사용하는 것입니다. 이 모션들은 여러 개 만들수록 더욱 부드러워지고 퀄리티가 좋아지겠지만 그만큼 작업량이 많아질 것입니다.


애니메이션에 사용하는 그림들은 이름_영문숫자 의 조합으로 만들고, 모양을 바꿀 때 변수를 바꿔주면서 애니메이션이 구현됩니다.


이제 애니메이션을 구현하는데요, 애니메이션은 기족의 플레이어와 적유닛의 메인 루프에서 동작하도록 합니다. 맨 밑의 animation블록이 추가된 것을 볼 수 있습니다.


애니메이션 블록에서 모션의 모양을 결정해 주는 것은 '@a'변수입니다. 2보다 크면(3이상) 다시 1로 바뀌게 먼저 설정을 하고, 밑에서는 공격인지 이동인지에 따라서 2개의 모양으로 바뀌게 됩니다. @타입 변수는 해당 유닛의 타입으로써, 결정해주는 변수입니다. 이동이라면 여기에 _m, 공격이라면 _a가 결합되어 모양이 결정이 됩니다.

그다음에 공격이 될 경우에는 공격모션이 너무 빨리 되는걸 방지하기 위해서 공격딜레이가 0일 경우에만 모션이 바뀌게 되어 있는데요, 이 부분은 사실 더 정확히 만들고자하면 공격속도에 맞게 모션이 순차적으로 동작하도록 만들어주어야 합니다. 여기서는 좀 간단하게 구현을 해 보았습니다.


캐릭터들이 잘 움직이는것을 확인할 수 있습니다.


아래는 게임의 예제로, 1번과 2번을 누르면 각각 캐릭터가 나와서 자동전투를 벌입니다.






스크립트 확인하기: https://scratch.mit.edu/projects/181091765/




팔라독 만들기의 강좌는 여기까지 입니다. 좀더 자세한 옵션들, 캐릭터 추가라던지 승리 패배조건등을 만들어 줘야 하는게 맞지만 이정도까지만 하더라도 만들고 싶어했던 어떠한 기능들은 충실히 만들었다고 생각됩니다.


다음에 게임 만들기를 한다면 좀더 쉽고 간단하게 만들 수 있는걸로 써봐야겠습니다. 한번에 만들고 따라할 수 있는 것으로 쓰는게 좋겠다고 교훈을 얻었습니다.


추후에 이 뼈대로 새로운 게임을 만들 까 구상도 하고 있습니다만, 그것은 그냥 만드는 과정정도 소개할거 같네요.



이상 스크래치로 팔라독 만들기 강좌 프로젝트는 여기까지입니다.

감사합니다.


댓글