4 개의 이미지가 있고이 4 개의 이미지를 사용하여 캐릭터에 애니메이션을 적용하려고합니다. 4 개의 이미지는 걷는 캐릭터를 나타냅니다. 나는 움직이기 위해 키를 누르는 동안 애니메이션을 반복하기를 원하지만, 그것을 푸는 순간 오른쪽으로 멈추기를 원합니다. 모르는 경우 SFML에만 해당 될 필요는 없습니다. 기본 이론만으로도 도움이 될 것입니다.SFML에서 스프라이트를 어떻게 애니메이트 할 수 있습니까
감사합니다.
4 개의 이미지가 있고이 4 개의 이미지를 사용하여 캐릭터에 애니메이션을 적용하려고합니다. 4 개의 이미지는 걷는 캐릭터를 나타냅니다. 나는 움직이기 위해 키를 누르는 동안 애니메이션을 반복하기를 원하지만, 그것을 푸는 순간 오른쪽으로 멈추기를 원합니다. 모르는 경우 SFML에만 해당 될 필요는 없습니다. 기본 이론만으로도 도움이 될 것입니다.SFML에서 스프라이트를 어떻게 애니메이트 할 수 있습니까
감사합니다.
단순한 종류의 상태 시스템이 필요할 수 있습니다. 키가 눌려지면 (sf::Input's IsKeyDown method 참조) 캐릭터를 "움직이는"상태로 만듭니다. 키가 눌러지지 않은 상태에서 캐릭터를 "움직이지 않음"상태로 만듭니다. 물론, 당신은 항상이 "상태"를 갖지 않고 아래에서 언급 한 것을 수행 할 수 있습니다 (정확하게 당신이하는 일에 따라).
캐릭터가 "움직이는"상태 인 경우 다음 "이미지"를 얻습니다 (자세한 내용은 다음 단락을 참조하십시오). 예를 들어 이미지가 간단한 4 요소 배열에 저장되어있는 경우 다음 이미지는 (currentIndex + 1) % ARRAY_SIZE
이됩니다. 현재 수행중인 작업에 따라 이미지 프레임을보다 복잡한 데이터 구조에 저장할 수 있습니다. 캐릭터가 "움직이는"상태에 있지 않으면 여기에서 업데이트를하지 않을 것입니다.
"4 개의 이미지"가 동일한 이미지 파일 내에있는 경우 sf :: Sprite의 SetSubRect 메서드를 사용하여 표시된 이미지 부분을 변경할 수 있습니다. 실제로 4 가지 이미지가 있다면 이미지를 전환하려면 sf :: Sprite의 SetImage 메서드를 사용해야합니다.
애니메이션이 너무 빨리 발생하지 않도록 프레임 속도를 어떻게 적용 하시겠습니까? – andrewtweber