좋아, 이건 아마 액션 스크립트에 대해 이해할 수없는 아주 기본적인 것일 테지만, 이걸로는 어디에도 가지 못하는 것 같습니다.프레임 스무딩 코드
내가 ENTER_FRAME 루프의 애니메이션을 매끄럽게하기로했다 몇 가지 코드가 : 당신이 볼 수 그래서
private var m_lastTime:Number;
private var clock_speed:Number = 5;
private function frameLoop(evt:Event):void
{
var currTime:int = getTimer();
var deltaTime:Number = (currTime - this.m_lastTime) * 0.001;
this.m_lastTime = currTime;
//trace(deltaTime.toString() + "," + (deltaTime * clock_speed).toString());
// why you no work?
var n:Number = clock_speed * deltaTime;
trace(n);
mcClockHand.rotation += .18;// Number(deltaTime * clock_speed);
을, 나는 프레임 사이의 시간 델타를 계산하고, 일정한 속도로 그것을 곱 해요 . Number 값을 찾아서 출력 창으로 추적합니다. 변동은 0.14에서 0.19 사이이며 평균 0.18입니다.
클록 핸드 엠씨의 회전을 오프셋 값으로 사용하면 절대로 움직이지 않습니다. 위와 같이 상수 0.18을 사용하면 30 초당 약 1 회씩 오른쪽으로 이동합니다.
둘 다 숫자 유형이며 추적 결과 거의 동일한 값을 갖습니다. MC를 움직일 수있는 이유는 무엇입니까?
어떤 조언을 주셔서 감사합니다!
int 변환 오류가 발생하는 것 같습니다. 'private var clock_speed : Number = 5;'를'private var clock_speed : Number = 5.0;'으로 변경 해보시겠습니까? –