Moi taas, jälleen Flashin parissa.
Ongelmana tälläkertaa on sellainen asia, kuin framen numero ja animaation toistosuunnat.
Microsoftin etusivulla on Silverlightillä tehty "systeemi" (Miksi tuota nyt kutsuisi), jonka sitten koitin toteuttaa Flashilla omana versionani. http://fpaste.dy.fi/lmL/dl
Kuten animaatiosta huomaa, niin hiiren liikkuessa jonkin framen päällä se lähtee pyörimään, ja toistuu alusta loppuun ilman pysäytyksiä. Siihen pitäisi saada korjaus. Koodi toimisi mielestäni muuten, mutta if(cFrame == x) ei. Todennäköisesti cFrame ei päivity tuonne?
Entä, jos näytetään framea 80, ja halutaan näyttää 20, niin animaatiohan lähtee pyörimään eteenpäin. Miten saisin sen silloin vaihtamaan suuntaa?
Kenties kannattaisi etsiä Flashiin erikoistunut foorumi, kun täällä ei näitä Flashin taitajia oikein paljon ole.
Macro kirjoitti:
täällä ei näitä Flashin taitajia oikein paljon ole.
Minä oon aina ihmetelly, miks kukaan viihtii tehä yhtään mitään suljetulla alustalla, joka vaatii maksulliset kehitystyökalut.
Macro: Selitit tosi epäselvästi, enkä jaksa kaivella flashiä kotokoneelleni.
Mutta mitä ymmärsin selityksistäsi niin yksi sana kaikkiin ongelmiisi on TweenLite.
Sillä saat yhdellä rivillä laitettua movieClippisi animoituna framesta 20-->80 tai 80-->20
Samoin sillä onnistuu kaikki easingit ja movieClippien sulavat liikuttelut.
import com.greensock.*; import com.greensock.easing.*; // mc on movieClippisi nimi TweenLite.to(mc, 1, {frame:80, ease:Linear.easeNone});
Eli kun hiiri viedään movieClippisi päälle pistät koodiin:
TweenLite.to(mc, 1, {frame:80, ease:Linear.easeNone});
ja kun hiiri viedään päältä pois niin:
TweenLite.to(mc, 1, {frame:1, ease:Linear.easeNone});
Tuo voisi toimiakkin, ehkä. Lisäsin com-kansion TweenLitestä fla-tiedoston kanssa samaan kansioon -> TweenLiten importus koodin alkuun (Layer 1, frame 1). Sitten muutin vähän eventhandlereitten callback funktioita. Tulos: http://fpaste.dy.fi/4ox/dl
Eli siis, virhettä ei tule, eikä frame vaihdu. En tiedä sitten, teinkö sen oikein.
Sivut ovat eri layereissä, ja ne ovat movieclippejä. Nimet ovat oikein koodissa.
Pistä mieluummin johonkin se koodi näkyville, kuten sanoin, en jaksa alkaa asentelemaan kotokoneelle flashiä vain sitä varten, että näen muutaman rivin koodia.
import flash.events.MouseEvent; import flash.events.Event; import com.greensock.*; import com.greensock.easing.*; stop(); function sivuA(evt:MouseEvent):void { TweenLite.to(sivu1, 1, {frame:1, ease:Linear.easeNone}); trace("Sivu 1"); } function sivuB(evt:MouseEvent):void { TweenLite.to(sivu2, 1, {frame:20, ease:Linear.easeNone}); trace("Sivu 2"); } function sivuC(evt:MouseEvent):void { sivu3.append(TweenLite.to(sivu3, 1, {frame:40, ease:Linear.easeNone})); trace("Sivu 3"); } function sivuD(evt:MouseEvent):void { TweenLite.to(sivu4, 1, {frame:60, ease:Linear.easeNone}); trace("Sivu 4"); } function sivuE(evt:MouseEvent):void { TweenLite.to(sivu5, 1, {frame:80, ease:Linear.easeNone}); trace("Sivu 5"); } sivu1.addEventListener(MouseEvent.MOUSE_OVER, sivuA); sivu2.addEventListener(MouseEvent.MOUSE_OVER, sivuB); sivu3.addEventListener(MouseEvent.MOUSE_OVER, sivuC); sivu4.addEventListener(MouseEvent.MOUSE_OVER, sivuD); sivu5.addEventListener(MouseEvent.MOUSE_OVER, sivuE);
Tuolta näyttää koodit.
Aihe on jo aika vanha, joten et voi enää vastata siihen.