PDA

Volledige versie bekijken : Play, Forward, Reverse, pauze knop


idus
%Europe/Berlin %705 %2006, 17:55
Ik heb een movieclip die langzaam "scrolled. Nu wil ik een buttonknop die de movie versneld, stopt, play (dus een pauze knop) en als het mogelijk is die ook terugloopt.

op de eerste frames staat:
movieClip1_mc.onEnterFrame = function() {
this._y = this._y-2;
};

ik had om te stoppen gedacht aan:

stopButton.onRelease = function() {
movieClip1_mc.stop();
};

en om weer verder te gaan:
playButton.onRelease = function() {
movieClip1_mc.play();
};

maar dat werkte niet echt ... :#

Ik hoop dat jullie me kunnen helpen...

Erwinzzz
%Europe/Berlin %709 %2006, 18:01
stop() en play() zijn sturingen voor de Timeline.

scrollen = false;
scrollMC_mc.onEnterFrame = function() {
if (scrollen) {
scrollMC_mc._y -= 2;
}
};
stopbutton.onRelease = function() {
scrollen = false;
};
startbutton.onRelease = function() {
scrollen = true;
};

Hou dus de boolean scrollen bij, die is true of false(waar of niet waar). Waneer hij weer is moet de scroll actie wel uitgevoerd worden. anders niet..

Dauntless
%Europe/Berlin %713 %2006, 18:07
Zet volgende keer je code tussen tags [/as ].

De actie stop(); dient om de tijdlijn te stoppen. Hier gebeurt er niets met de tijdlijn, maar wel iets met de coordinaten van je movieclip.

De _y wordt aangepast in een onEnterFrame. Om de beweging te stoppen moet je dus de onEnterFrame stoppen:
[as]stopButton.onRelease = function()
{
delete movieClip1_mc.onEnterFrame;
}


Je wil dat hij ook sneller kan gaan. Het getal dat je bij _y optelt zal dus dynamisch moeten zijn. Ook is het handiger om de functie die het eigenlijke bewegen voor z'n rekening neemt appart te zetten, zodat hij (na het verwijderen) altijd gemakkelijk terug gezet kan worden:

var speed:Number = 2;
movieClip1_mc.onEnterFrame = moveMe;
function moveMe()
{
this._y += speed;
}

Nu wil je dat hij ook nog versnelt, dus dan moeten we de 'speed' aanpassen:

fasterButton.onRelease = function()
{
//speed met 2 verhogen
speed += 2;

}


En als je wil dat hij ook trager kan gaan:

slowerButton.onRelease = function()
{
//speed met 2 verlagen
speed -= 2;

}


En als je hem ook nog van richting wil laten veranderen, moet de speed omgedraaid worden. Van 5 moet hij naar -5 en van -9 naar 9 (bv). Dit kan je simpelweg doen door de speed variabele met -1 te vermenigvuldigen:

turnButton.onRelease = function()
{
speed *= -1;
}

En als je nog een knop wil om hem terug op te starten:

startButton.onRelease = function()
{
movieClip1_mc.onEnterFrame = moveMe;
}

Lukt het ? :)

idus
%Europe/Berlin %890 %2006, 22:22
Daunless & Erwinzzz,

Dank je wel voor jullie reactie/antwoord. Hiermee kom ik inderdaad verder mee! :-)

thanXs
Idus