문제

나는 moviveclips/sprite 객체를 가능한 한 smootly에 애니메이션하고 싶습니다. 그러나 지금까지 작동하는 유일한 방법은 Movement Code를 Enterframe 이벤트 처리기에 배치하는 것입니다. 이 접근법에는 한 가지 문제가 있습니다. 특정 기계의 프레임 속도가 원하는 프레임 속도 아래에있을 때 전체 게임이 느려집니다. 나는 시간 독립적 인 방식으로 이것을 할 수 있기를 원합니다.

도움이 되었습니까?

해결책

플래시 플레이어 내에서 프로그래밍 애니메이션을 수행하는 두 가지 방법이 있습니다. 첫 번째는 이미 oneNerframe을 사용하여 지적했습니다. 그러나 이미 알 수 있듯이 부드러운 애니메이션을 얻으려면 영화의 전반적인 프레임 속도를 높여야합니다. 이렇게하면 SWF가 실행하는 전체 기간 동안 CPU 부하가 증가합니다. 이것은 당신이 항상 원하는 것이 아닙니다.

프로그래밍 방식 애니메이션을 수행하는 다른 방법은 타이머를 사용하는 것입니다. 타이머 핸들러 내에서 이름이 지정된 함수를 호출 할 수 있습니다. updateAfterEvent SWF에 대해 설정 한 FPS와 독립적 인 화면을 업데이트합니다. 따라서 타이머를 사용하면 게이트웨이가 남아 SWF의 전체 프레임 속도를 증가시키지 않고 플래시 플레이어 내에서 부드러운 애니메이션을 수행합니다.

2 년 전, 나는 플래시를 위해 나만의 트윈 라이브러리를 만들기 시작했습니다 (기존 트윈 라이브러리와의 좌절 때문에). 나는 이름으로 그것을 발표했다 Coretween 그리고이 도서관을 사용하면 무엇보다도 모든 개별 트윈에 대해 선호하는 애니메이션 유형을 선택할 수 있습니다. 문서 페이지에서 나는 예시 프레임 기반과 시간 기반 애니메이션의 차이점. 이 페이지의 예제 SWF는 12fps에서 실행되지만, 볼 수 있듯이, 하단 원 트윈은 60fps로 진드기 타이머로 제어되고 SWF 프레임 속도에서 화면을 업데이트하기 때문에 훨씬 매끄럽습니다. 타이머조차도 60fps에서도 실제로 플래시 플레이어는이 프레임 속도를 달성 할 수 없을 것임을 명심하십시오. 그러나이 프레임 속도를 달성하려고 시도하여 전체 애니메이션이 훨씬 부드럽습니다.

불행히도 지금까지 나는 1.0 버전의 라이브러리를 출시 할 수 없었지만 내가 아는 한 그것은 매우 안정적입니다. 당신은 당신이 맞는 방식으로 그것을 사용하는 것을 환영합니다. 나는 우리가 한 것들을 포함하여 많은 상업용 작품에서 Coretween을 사용했습니다. Stgeorge 호주에서 은행.

다른 팁

다음은 몇 가지 ActionScript 기반 애니메이션 라이브러리입니다.

트윈 멜스

트위너

둘 다 잘 작동하며 필요한 것을 도와야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top