Autor Zpráva
osi011
Profil
Chtěl bych se zeptat jak zvýším hodnotu podle přehrání framů s určitým labelem. Něco jako následující kod, který mi ale nefunguje.

if(this._currentframe=="1"){ promenna=1; }
else if(this._currentframe=="2"){ promenna++; }
else if(this._currentframe=="3"){ promenna++; }
else if(this._currentframe=="4"){ promenna++; }
FlashManiac
Profil
ale co tim vlastne chces docilit???
XXX
Profil
proc to delat jednoduse, kdyz to jde slozite, ze ;-)) Ty se tady s necim trapis, kdyz to muzes udelat uplne jednoduse, bez labelu primo s cisly snimku...
osi011
Profil
Má to být animace s ovládáním (play, stop, pausa, reward, forward). Takže při pauze bych chtěl animaci zastavit na právě přehrávaném místě, z kterého bych ji potom opět spustil nebo začal krokovat.
Label jsem tam chtěl dávat proto, protože každý jeden krok není právě jeden frame. Každá tato část (každý label) je u animace počítán, aby bylo vidět, kolik snímků ještě zbývá.
dredie
Profil *
4 osi011 - co takhle kod:

//kod na tlacitko pro stop:
this.myStopBtn.onRelease = function () {
myAnimation.stop();
}

//kod na talcitko play
this.myPlayBtn.onRelease = function () {
myAnimation.play();
}

//kod pro talcitko fwd
this.myFwdBtn.onPress = function() {
this.onEnterFrame = function () {
myVariable:Number = myAnimation.currentFrame+2;
myAnimation.gotoAndStop(myVariable);
}
}
this.myFwdBtn.onRelease = function () {
this.onEnterFrame = null;
}

//kod pro tlacitko bwd
this.myBwdBtn.onPress = function () {
this.onEnterFrame = function () {
myVariable:Number = myAnimation.currentFrame-2;
myAnimation.gotoAndStop(myVariable);
}
}
this.myBwdBtn.onRelease = function () {
this.onEnterFrame = null;
}
}

tohle je zakladni kostra, muzes pridat podminky aby se playhead nechtela posunout pred 1. nebo za posledni snimek, trochu to vytunit. Nemuzu potvrdit ze tak jak to je je to spravne, ptze nejsem u svyho stroje, takze to nemam kde otestovat. Taky nevim jestli je to presne to co chces, ale z toho popisku co tam mas to tak vypada.

D.
osi011
Profil
Díky moc, tohle jsem myslel. Jen mi nějak nefunguje forward a backward.

Jde nějak nastavit rychlost přehrávání u té funkce play()?
dredie
Profil *
4 osi011 - rychlsot prehravani je dana framerate ktera je pevne dana vlastnostmi dokumentu.... maximalne bys mohl udelat funkci ktera by preskakovala kazdy druhy frame coz by vypadalo rychleji, ale vlastne by to fungovalo jako to fwd.

jinak pokud ti to nefunguje, tak zkus pridat trace do funkce at zjistis kde je chyba:

this.myBwdBtn.onPress = function () {
this.onEnterFrame = function () {
myVariable:Number = myAnimation.currentFrame-2;
trace(myVariable);
myAnimation.gotoAndStop(myVariable);
}

undefined - deklarace promene je spatna je potreba to udelat jinak.

nevyhodi se vubec - funkce onEnterFrame bude spatne prirazena, v tom pripade zkus vytvorit prazdny movie clip pomoci createEmptyMovieClip a pipradit onEnterFrame jemu - tohle se mi stava dost casto i kdyz nevim proc. Duvod je podle me v tom, ze jednomu klipu nemuzs najednou priradit vice nez jeden onEntrFrame, ale me to obcas blbne i kdyz ho prirazuju ke klipu ktery na sobe zadny nema. Nebo se taky nemusi samotna ("nadrazena") funkce volat vubec. Zkus trace funkci umistit na ruzna mista s ruznym argumentem a uvidis co se stane.

D.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0