Android 개발을 할 때 애니메이션을 만드는 가장 좋은 방법은 무엇입니까?


10

첫 번째 Android 게임을 만들려고 노력 중이며 현재 애니메이션을 만드는 가장 좋은 방법이 무엇인지 (도면 및 다른 프로그래머와 함께) 알아 내려고 노력하고 있습니다. (캐릭터 이동 등의 애니메이션)

처음에 디자이너는 객체 / 캐릭터를 그리고 플래시를 사용하여 애니메이션을 적용 할 수 있다고 말했기 때문에 액션의 모든 단일 프레임을 그릴 필요가 없었습니다. 다른 프로그래머와 나는 Flash를 너무 잘 몰라서 Flash 애니메이션에서 모든 이미지를 추출하여 애니메이션이 시작될 때마다 하나씩 표시하도록 제안했습니다.

그는 CPU에서 너무 많은 리소스를 사용하게 될 것이라고 말했지만 동의하는 경향이 있지만 하드웨어에서 너무 어렵지 않고 매끄러운 애니메이션을 만드는 방법을 실제로 알지 못합니다. 디자이너는 Adobe Illustrator에서 모든 단일 프레임을 그립니다.

숙련 된 Android 게임 개발자가 균형을 잡는 데 도움이 될 수 있으므로 애니메이션을 만드는 가장 좋은 방법이 무엇인지 전혀 모르므로 게임의 다른 부분으로 넘어갈 수 있습니다.

답변:


12

2D 애니메이션을 고려하고 있다면 스프라이트가 크지 않은 한 스프라이트를 렌더링하는 것이 장치에 문제가되지 않습니다.

아래는 약간의 검색으로 찾은 첫 번째 애니메이션 스프라이트입니다. 이것은 일반적으로 사용되는 기술이며 무료 스프라이트 시트를 제공하는 웹 사이트가 많이 있습니다 (그렇지 않으면 항상 라이센스 확인).

이미지 출처 : [여기] (http://gaminggroundzero.com/?page_id=31)

이미지 + 저자 출처 : here

녹색은 이미지의 투명 색상으로 설정되어 원하지 않는 색상 영역이 없습니다. 스프라이트 시트에서 애니메이션을 재생하려면 애니메이션 시퀀스의 각 애니메이션 좌표를 알아야합니다.

Android의 경우 Chris Pruett (이전의 Google)가 Replica Island 라는 오픈 소스 게임 엔진을 살펴볼 수 있습니다 . 소스 코드를 사용할 수 있으며 SpriteAnimation.javaSpriteComponent.java를 볼 수 있습니다. .

A SpriteAnimation는 프레임 수와 고유 ID로 간단하게 생성되며 게임의 각 액터는 여러 애니메이션을 가질 수 있습니다. 는 SpriteAnimation다수 제공 될 수 AnimationFrame밀리 초 단위로 시간과의 각을. 즉, 캐릭터가 움직이거나 공격하는 등의 여부에 따라 서로 다른 애니메이션을 교체 할 수 있습니다 (참조 AnimationComponent.playAnimation(int id)).

게임 루프의 각 반복의 AnimationFramegetFrame(float time) 다음 렌더링 시스템에 퇴장 얻을 프레임을 반환라고하며 검사 시간이 얼마나 지난 주 루프 반복 경과 및 향후 재생하는 프레임 결정했다. 애니메이션이 너무 느리게 진행되는 경우 애니메이션 프레임을 건너 뛸 수 있습니다.

이 예제가 작동하기를 바랍니다 . 여기 Android 마켓 플레이스의 실제 게임에서 사용되는 것을 볼 수 있습니다 .


잘 설명되고 자세한 답변을 주셔서 감사합니다! 게임에 어떻게 적용 할 수 있는지 살펴 보겠습니다. 이것은 매우 도움이됩니다!
Adam Smith

@AdamSmith : 이와 같은 스프라이트 시트를 사용하는 것이 2D 애니메이션에 가장 좋은 방법입니다. 아티스트만큼 그가 당신이 다음 수있는 이미지에 애니메이션을 내보낼 수로, 플래시 또는 다른 프로그램에서 애니메이션을 만드는 경우 그것은 중요하지 않습니다 스프라이트 시트로 팩을
bummzack

@bummzack 감사합니다!
Adam Smith

@AdamSmith Replica Island는 실제로 스프라이트 시트를 사용하지 않고 단일 파일을 사용한다는 것을 혼동을 피하기 위해주의해야합니다. 스프라이트 시트가 유용한 이유에 대한 설명은 여기 및 자세한 내용은 여기를 참조 하십시오 .
Martin Foot

@Martin Foot, 당신은 아주 좋은 설명을했습니다. 그러나 나는 여전히 혼란스러워 10-15 종류의 애니메이션을 가지고 있으며 전체 화면 애니메이션을 말할 수있는 320x480 크기의 프레임이 있습니다. SpriteSheet 또는 단일 애니메이션 소스 파일에 대해 무엇을 제안합니까? 나는 무엇을 사용 해야할지 혼동합니다. 친절하게 나에게 가장 좋은 방법을 제안하십시오 .. 감사합니다 ....
전갈
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.