2015-01-05 3 views
0

내 프로젝트에 ActionScript 2.0을 사용하고 있습니다. 타이머와 x 축을 따라 움직이는 무비 클립이 있습니다. 해당 무비 클립이 지정된 경계에 도달하면 사라지고 타이머의 속도를 추가합니다. 내 문제는 내가 타이머의 속도를 추가 할 수 없습니다. 여기액션 스크립트 2.0 타이머

stop(); 
var hour:Number = 0; 
var minute:Number = 0; 
var second:Number = 0; 

hours.text = "0" + hour; 
minutes.text = "0" + minute; 
seconds.text = "0" + second; 

timerClip.onEnterFrame = function(){ 
if(this._currentframe == 30){ 
second += 1; 

if (second > 59){ 
    second = 0; 
    seconds.text = "0" + second; 
    minute += 1; 
    minutes.text = "0" + minute; 
} else { 
    if (second >= 10) { 
    seconds.text = second; 
    } else { 
     seconds.text = "0" + second; 
    } 

if (minute == 1){ 
    gotoandstop(2); 
} 
} 
} 
} 

내 무비 클립 내 코드입니다 :

onClipEvent (load) { 
speed = 1; 
boundary = 280; 

} 

onClipEvent (enterFrame) { 
if (this._x > boundary) { 
    this._x -= speed; 

} 
else { 
    this._x = boundary; 
    this._visible = false; 

} 
} 

답변

0

당신은 그렇게해야이 :

가 ° 둥지에 함수가 startTimer 만들기 여기 내 타이머 코드입니다 onEnterFrame 함수를 호출하여 나중에 호출 할 수 있습니다.
° MovieLip의 코드를 타이머의 타임 라인에 쓰지 않는 이유는 무엇입니까?
° 더 이상 유용하지 않으면 MovieClip의 enterFrame을 삭제해야합니다.
° 이제 startTimer 함수를 호출하여 타이머를 시작할 수 있습니다.


function startTimer():Void { 
    timerClip.onEnterFrame = function() { 
     // Timer here... 
    } 
} 

speed = 1; 
boundary = 280; 

clip.onEnterFrame = function():Void { 
    if (this._x > boundary) { 
     this._x -= speed; 
    } else { 
     this._x = boundary; 
     this._visible = false; 
     startTimer(); // start your Timer 
     delete this.onEnterFrame; // delete your enterFrame 
    } 
} 

귀하의 타이머가 제대로 작동하지 않습니다. 모든 enterFrame의 의사 초를 추가합니다.이 enterFrame이 24fps이면 1 초가 아닌 24 초가됩니다.

관련 문제