Avatar billede stagedk Nybegynder
16. februar 2010 - 16:09 Der er 4 kommentarer og
1 løsning

Problemer med Actionscript.

Hej eksperter, jeg er så småt begyndt at snuse til flash og actionscript og er lidt stock lige nu.
problemet er at når jeg afspiller min flash som er en musikafspiller, så har jeg min play/pause knap, og rollover virker fint nok, men OnRelease funktionen ser ud til at halte lidt hvilket jeg ikke kan hitte ud af, den skifter ikke frame når jeg trykker selvom jeg ikke kan finde nogle fejl og ikke får nogle fejl.. min as fil så således ud:


// Setup sound object
var s:Sound = new Sound();
s.onSoundComplete = playSong;
s.setVolume(75);

// Array af sange
var sa:Array = new Array();

// Spiller nu
var cps:Number =-1;

// Postition
var pos:Number;

// Load XML
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function()
{
    var nodes:Array = this.firstChild.childNodes;
    for(var i=0;i<nodes.length;i++)
    {
        sa.push(nodes[i].attributes.url);
    }
    playSong();
   
}

xml.load("songs.xml");

//Afspil MP3 Fil
function playSong():Void
{
    s = new Sound();
    if(cps == sa.length -1)
    {
        cps = 0;
        s.loadSound(sa[cps], true);
    }
    else
    {
        s.loadSound(sa[++cps], true);
    }
    playPause.gotoAndStop('pause');
}

// Pause
function pauseit():Void
{
    pos = s.position;
    s.stop();
}


// Unpauses
function unpauseit():Void
{
    s.start(pos/1000);
}

// Music attrbs

// Play/Pause

playPause.onRollOver = function()
{
    if(this._currentframe == 1) this.gotoAndStop('pauseOver');
    else this.gotoAndStop('playOver');
   
}

playPause.onRollOut = playPause.onReleaseOutside = function()
{
    if(this._currentframe == 10) this.gotoAndStop('pause');
    else this.gotoAndStop('play');
   
}

playPause.OnRelease = function()
{
    if(this._currentframe == 10)
    {
        this.gotoAndStop('playOver');
        this._pauseit();
    }
    else
    {
        this.gotoAndStop('pauseOver');
        this._unpauseit();
    }
}
Avatar billede kragekjaer Praktikant
16. februar 2010 - 16:15 #1
fjern underscore i disse

this._pauseit();
    }
    else
    {
        this.gotoAndStop('pauseOver');
        this._unpauseit();
Avatar billede stagedk Nybegynder
16. februar 2010 - 16:16 #2
hjælper ikke :)
Avatar billede kragekjaer Praktikant
16. februar 2010 - 16:27 #3
nej, men det er en klokkeklar fejl i din kode.

fjern this i  this.pauseit(); og i  this.unpauseit();
Avatar billede stagedk Nybegynder
16. februar 2010 - 16:31 #4
kan du så evt fortælle mig at de ikke skal være der, har lært at du skal huske underscroll  ved this states s:
Avatar billede kragekjaer Praktikant
16. februar 2010 - 16:40 #5
det sidste du skriver er helt sort, underscroll????

som du har det, refererer this til knappens scope, dvs inde i knappen, og der er så ikke en pauseit()

skift iøvrigt til as3
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