2010-12-12 5 views
0

그래서 모든 애니메이션을 멈추게 할 수 있는지 궁금합니다. "적 무리 영화 이동, 일부 탄환 이동"과 같은 계산을 한 다음 애니메이션을 다시 시작하여 모든 그림이 생기게 할 것입니다. 한 번에.무비 클립 도면을 직접 관리합니다. AS3

내 응용 프로그램이 내 게임의 게임 루프에있을 것입니다. 내가 겪고있는 문제는 화면에 약 50 명의 적을 가지고 있는데, 모두 매우 빠르게 움직이고 배열을 통해 이동하고 각 MovieClip을 이동합니다. 약간의 지연이 있으며 가능한 한 어떤 방식 으로든 제거하고 싶습니다.

AS3을 올바르게 이해하면 각 MovieClip의 X 및 Y 값을 변경할 때마다 화면에 그려 봅니다. 애니메이션을 멈추고이 값을 설정 한 다음 다시 시작하면 성능이 상당히 향상 될 것입니다.

+0

적과 총알이 매우 복잡한 그래픽을 가지고 있으면 @ Typeoneerror의 제안이 도움이 될 수 있지만 여전히 적 50 명은 막대한 수의 무비 클립이 아닙니다. movieclip 인스턴스를 Sprite (MovieClip과 같은 동적 클래스가 아닙니다)에 중첩시키고 상호 작용 (mouseEnabled, tabEnabled, mouseChildren 등)을 해제하고 이것이 프레임 속도를 향상시키는 지 확인하십시오. @ Iain의 게시물을 많이 읽으십시오. http : //blog.iainlobb.com/2010/11/bunnylandmark-new-flash-game-benchmark.html 소스 코드도 있습니다. 디스플레이 목록 예제를보고 적용 해보십시오. 당신이 게임에서 배우는 것들. –

답변

0

플래시는 각 프레임을 한 번 렌더링합니다. 프레임 사이에 원하는 모든 것을 이동할 수 있습니다. 이제 적들을 움직이는 방법이 적절한 방법입니다.

블리 팅은 원자력 옵션의 일종으로, 성능면에서는 많은 이득을 얻지 만, 회전/크기 조절 및 마우스/상호 작용 비트와 같은 여러 가지 이점을 누릴 수 있습니다.

게임을 보지 않고도 다른 포인터를 제공하기는 어렵지만 일반적으로 넓은 영역의 투명도를 피하기 위해 마스킹에 비용이 많이 들고 필터를 렌더링 할 때 무거울 수 있습니다.

1

성능이 목표 인 경우 비트 블리 팅을 위해 MovieClips를 놓을 생각이 있습니다. 본질적으로 움직임, 충돌 등을 계산 한 다음 하나를 각 무비 클립을 그리는 대신 비트 맵 캔버스에 그립니다.

벡터 아트를 비트 맵으로 바꾸면 렌더링 속도가 크게 향상됩니다. 가능한 한 적은 프레임을 사용하십시오. 블리 팅에 대한 자세한 내용은 8bitrocket을 확인하십시오.

+0

그 문제는 제 애니메이션이 믿을 수 없을 정도로 고품질이라는 것입니다. 제 아티스트는 프로와 가깝고 자신이 원하는 수준의 품질을 얻을 수 없습니다. –

관련 문제