Avatar billede jokkejensen Novice
12. marts 2007 - 19:16 Der er 4 kommentarer og
1 løsning

Stoppe alle tweens gennem AS

Hey.

Jeg er ved at lave en lille flash applikation der kan emulere hastigheden man henter og sender med, med en række forskellige hastigheder, når man trykker "Start", emulerer den med x antal grafer hvor hurtigt det vil tage at hente en fil.

Når jeg trykker start, starter den altså en række tweens. Problemet er at man kan "teste" med forskellige størrelse filer. Når jeg sætter alle forbindelserne til at "hente" 100MB bliver 160kbit linien eksempelvis ikke færdig. Trykker man derfor stop, og vælger en mindre fil, springer 160kbit linien hurtigt til 100%, men herefter fortsætter den med at hente de 100MB, altså springer den tilbage til det sted den nåede til i det sidste tween.

Hvordan stopper man tweens ?

min kode :

knappe event:
    startButton.onRelease = function()
    {       
        for(i = 0; i < xmlConnections.childNodes.length; i++)
        {
            tweenBar(_root["Connection"+i].DownloadProgressBar, _root["Connection"+i].DownloadSpeed, _global.SelectedFileSize);
            tweenBar(_root["Connection"+i].UploadProgressBar, _root["Connection"+i].UploadSpeed, _global.SelectedFileSize);
        }       
    }


funktioner :

function tweenBar(_mc, _speed, _size)
{
    easeType = "";
    var begin = 0;
    var end = 300;
    var time = calculateTime(_speed, _size);
    var mc = _mc;
    ballTween = new mx.transitions.Tween(mc, "_width", easeType, begin, end, time, true);
}

function calculateTime(_speed, _size)
{
    var time = _size / _speed;
    trace("størrelse:" + _size + "  Hastighed:" +_speed + " Tid i sec:" +time)
    return time;
}


Er der nogen der har et bud på hvordan jeg i min onrelease event, stopper de tweens movieclippet er igang med ?

På forhånd tak

/Jacob Jensen
Avatar billede kragekjaer Praktikant
12. marts 2007 - 19:23 #1
slå op i dokumentation for Tween class, tror det er noget med myTween.Stop();....du kan se det i Flash Help
Avatar billede kragekjaer Praktikant
12. marts 2007 - 19:25 #2
yes det er

tweenInstance.stop();
Avatar billede jokkejensen Novice
12. marts 2007 - 19:30 #3
ja tak, men jeg looper jo igennem dem i min foreach løkke..

hvordan får jeg fat i instansen ?
Avatar billede jokkejensen Novice
12. marts 2007 - 19:31 #4
forsøgte tidligere med :

_root["Connection"+i].DownloadProgressBar.Tween.stop();
_root["Connection"+i].UploadProgressBar.stop();

Men ingen af dem fiksede det..

Jeg skal vel navngive instancen og stoppe dem senere ?
Avatar billede jokkejensen Novice
12. marts 2007 - 20:36 #5
JEg ligger alle instanser i et array, og stopper dem en efter en..

var progressTweens:Array;
progressTweens = new Array();

    /*Tildeler knappe event*/
    startButton.onRelease = function()
    {       
        /*Stopper alle aktive tweens*/
        stopAllTweens(progressTweens);
        progressTweens = new Array();
       
        /*Starter tweens*/
        for(i = 0; i < xmlConnections.childNodes.length; i++)
        {
            progressTweens.push(tweenBar(_root["Connection"+i].DownloadProgressBar, _root["Connection"+i].DownloadSpeed, _global.SelectedFileSize));
            progressTweens.push(tweenBar(_root["Connection"+i].UploadProgressBar, _root["Connection"+i].UploadSpeed, _global.SelectedFileSize));           
        }       
    }


function tweenBar(_mc, _speed, _size)
{
    easeType = "";
    var begin = 0;
    var end = 300;
    var time = calculateTime(_speed, _size);
    var mc = _mc;
    tweenbar = new mx.transitions.Tween(mc, "_width", easeType, begin, end, time, true);
    return tweenbar;
}

function calculateTime(_speed, _size)
{
    var time = _size / _speed;
    //trace("størrelse:" + _size + "  Hastighed:" +_speed + " Tid i sec:" +time)
    return time;
}

function stopAllTweens(tweens)
{
    var tweenArray = tweens;
   
    for(i = 0; i < tweenArray.length; i++)
    {
        tweenArray[i].stop();
    }   
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester