Flash CS3 파티클 시스템 애니메이션 최적화
이제 플래시가 생겼으니아르 자형 CS3 파티클 시스템 강설 애니메이션은 원하는대로 정확하게 작동합니다. 이제 눈 장면 프로그램 코드를 최적화해야합니다. 이전 자습서에서 작성한 애니메이션을 테스트 한 경우 시간이 지나면 애니메이션이 컴퓨터 리소스를 처리하는 경향이 있음을 알 수 있습니다. 이 튜토리얼에서는 애니메이션을보다 효율적으로 만드는 몇 가지 방법을 살펴 보겠습니다.

코드가 이제는 하나의 이벤트 리스너를 사용하여 애니메이션의 각 새 프레임을 수신합니다. 각각의 새 프레임에서 눈송이 기능 (이벤트 핸들러)은 새 눈송이를 만들고 해당 눈송이를 Flash 표시 목록에 추가합니다. 다음으로 Math.random ()을 사용하여이 눈송이의 위치 및 알파 속성을 무작위 화합니다. 두 번째 이벤트 리스너를 사용하여 각각의 새 프레임과 함께 snowfall 함수를 다시 호출합니다. 강설 기능은 눈송이가 스테이지의 오른쪽 또는 아래쪽 가장자리를 넘어 이동했는지 확인합니다. 그렇다면 강설 기능을 반복하는 두 번째 이벤트 리스너를 제거합니다. 이로 인해 하나의 눈송이가 떨어지지 않고 다른 눈송이는 계속 떨어지게됩니다. 눈송이 기능을 반복하면 강설 애니메이션이 만들어집니다. 우리가 지금해야 할 일은 코드를보다 효율적으로 변경하는 것입니다.

방법 1

첫 번째 방법은 프로그램에 한 줄의 코드 만 추가하면됩니다. snowfall 함수 안에는 눈송이가 무대 너머로 넘어 갔는지 확인하고, 그렇다면 이벤트 리스너를 제거하고 눈송이가 떨어지는 것을 막는 조건문이 이미 있습니다.
눈송이가 움직이지 않지만 스테이지 하단에는 여전히 보입니다. 여전히 표시 목록에 여전히 표시되므로 Flash는 여전히이 눈송이에 리소스를 사용합니다. 표시 목록에서 눈송이를 제거하면 리소스가 비워지고 애니메이션이 더 효율적입니다. 더 이상 표시 목록에서 필요하지 않은 눈송이를 제거하기 위해 조건부 명령문에 removeChild 코드를 추가 할 수 있습니다.

if (_Snowflake.y> 370 || _Snowflake.x> 550)
{
stage.removeEventListener (Event.ENTER_FRAME, 강설량);
removeChild (_Snowflake);
}
그밖에
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }


영화를 테스트하면 눈송이가 스테이지의 오른쪽 또는 아래쪽 가장자리에 도달하면 사라지고 애니메이션이 더 효율적입니다.

다음 →

저작권 2018 Adobe Systems Incorporated. 판권 소유. Adobe 제품 스크린 샷은 Adobe Systems Incorporated의 허가하에 재 인쇄되었습니다. Adobe, Photoshop, Photoshop Album, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, 플래시, ActionScript, 불꽃 놀이, 참여, 사로 잡기, 플래시 촉매 및 플래시 용지 는 미국 및 / 또는 기타 국가에서 사용되는 Adobe Systems Incorporated의 [a] 등록 상표 또는 상표입니다.