, 당신은 1/N 초 동안 루프에서 그릴 수 *, N은 (당신이 얻을 및 설정할 수 있습니다) 단계의 프레임 속도는 일반적으로 :
import flash.utils.getTimer;
import flash.events.Event;
private var _time_per_frame:uint;
... 어딘가 기본 생성자 :
stage.frameRate = 30;
_time_per_frame = 1000/stage.frameRate;
addEventListener(Event.ENTER_FRAME, handle_enter_frame);
...
private function handle_enter_frame(e:Event):void
{
var t0:uint = getTimer();
while (getTimer()-t0 < _time_per_frame) {
// ... draw some stuff
}
}
,
- 이것은 다소 단순화 된 것이며 프레임간에 렌더링을 수행하는 데 약간의 시간이 필요하기 때문에 stage.frameRate에서 지정한 프레임 속도보다 느린 프레임 속도가 발생할 수 있습니다. 그러나 벡터 드로잉이나 화면에 도형을 추가하는 것과는 대조적으로 blits (화면의 비트 맵으로 그리기)하는 경우 위의 내용이 실제로 꽤 정확해야합니다.
느린가 원하는보다 프레임 속도의 코드의 결과는, 당신은 단지 플래시 렌더링하는 나머지 절반을 떠나, 프레임 절반 할당 된 시간을내어 같은 간단한을 시도 할 수있는 경우 :
_time_per_frame = 500/stage.frameRate;
그리는 동안 프레임 속도를 모니터링하는 데 사용할 수있는 FPS 모니터가 있습니다. Google as3 framerate monitor.
이것은 응용 프로그램을 실행중인 하드웨어에도 많이 달려 있습니다. –
FPS를 화면에 출력하고 Event.RENDER를 사용하여 업데이트를 시도해보십시오. CPU, h 치 및 오류를 hog하기 시작하면 다른 하드웨어에서는 달라질 수 있습니다. – Neil