0

Оригинал Редактирование Я хочу узнать, как лучше всего сделать процесс клипа на сцене. Я могу догадаться, как это сделать в as2 (это то, чему меня учили), но я не уверен, как разработать мой код ниже. Как я предполагаю, я бы предположил, что он присоединяется к событию enterFrame.AS3 Make a Movieclip исчезает, когда остался один на некоторое время

В принципе, в течение 5 секунд, если пользователь не взаимодействует с воздушным шаром, он ничего не исчезает с помощью альфы.

Любые указания или предложения? Я новичок в AS3. (Игнорируйте CLICK)

reset_balloon.addEventListener(MouseEvent.CLICK, fadeBalloon); 
function fadeBalloon(event:MouseEvent):void 
{ 
    reset_balloon.alpha = .2; 
} 

Secondary Edit -----

//---- 
//Resetter btn --------------------- 
//------------------------------------------ 

reset_btn.addEventListener(MouseEvent.CLICK, startover); 

function startover(event:MouseEvent):void 
    { 
    //gotoAndPlay(2); 
    reset_balloon.visible = true; 
    } 

    //---- 
Object(root).reset_balloon.thereseter_btn.addEventListener(MouseEvent.CLICK, truestartover); 

    function truestartover(event:MouseEvent):void 
    { 
    gotoAndPlay(2); 
    //reset_balloon.visible = false; 
    } 


    TweenLite.delayedCall(5, handleTimeUp) 

    function handleTimeUp():void 
    { 
    TweenLite.to(reset_balloon, 2, {alpha:0}); 
    } 

    reset_balloon.addEventListener(MouseEvent.CLICK, fadeBalloon); 

    function fadeBalloon(event:MouseEvent):void 
    { 
    //reset_balloon.alpha = .5; 
    TweenLite.killDelayedCallsTo(handleTimeUp); 
    TweenLite.to(reset_balloon, 2, {alpha:0.4}); 
    } 

ответ

0

Если вы не возражаете против использования Tweens, я бы рекомендовал TweenLite для этого.

//Add function called in 5 secs 
TweenLite.delayedCall(5, handleTimeUp) 

private function handleTimeUp():void 
{ 
    TweenLite.to(reset_balloon, 2, {alpha:0}); 
} 

И если по какой-либо причине вы хотите убить ожидающий вызов задержки (например, щелчком мыши);

reset_balloon.addEventListener(MouseEvent.CLICK, fadeBalloon); 
private function fadeBalloon(event:MouseEvent):void 
{ 
    TweenLite.killDelayedCallsTo(handleTimeUp); 
} 
+0

Вместо того, чтобы использовать TweenLite.delayedCall() для задержки запуска твинов, вы также можете заменить его обычным объектом Timer. Затем каждый раз, когда пользователь взаимодействует с воздушным шаром, вы можете сбросить таймер, чтобы снова начать отсчет с 0 (я не достаточно знаком с TweenLite, чтобы узнать, предлагает ли он этот метод «сброса»). – mitim

+0

Вы можете 'killDelayedCallsTo' и добавить' delayedCall' еще раз. – 3vilguy

+0

Привет, оба звучат интересно, хотя я больше знаком с tweening. Что такое свет Tween? Что он служит? – user3082874