Flash : Animáció probléma
Sziasztok!
Egy kis segítséget szeretnék kérni Flash ügyben. Egy képváltó animáción dolgozok, ami felbontja a képet kis 50x50-es négyzetekre (Kis Bitmap-eket gyárt belőle) és egyenként pörgeti őket, amikor pedig átfordulnak megjelenik a következő kép megfelelő képkockája.
Az eredeti képből gyártott kis 50x50-es Bitmap képkockák, bele vannak téve egy-egy Sprite-ba, amik szigorúan és pontosan egymás mellé és alá vannak pozicionálva, így olyan mint ha egy sima kép lenne a sok kis Sprite és bennük az 50x50-es Bitmap-ek. A Sprite-ok azért kellenek, mert nem közvetlenül a Bitmap-eket animálom hanem a konténert amiben vannak vagyis a Sprite-ot, így amikor átfordul egy Sprite csak a benne levő Bitmap-ot kell kicserélni a következő megjelenítendő kép megfelelő képkockájára és fordulhat megint tovább a következő képnél. A Sprite-ok rotationY attribútumát animálom, mindig +180 fokkal egy-egy új képnél. A Sprite-okban a Bitmap-ek -25, és -25 képponttal vannak eltolva x és y tengely szerint, azért mert a középpontjuknál fogva forgatom őket, illetve pontosabban a Sprite-ot, de ugye annak meg 0,0 a regisztrációs pontja ami mentén a forgatás majd történik.
A problémám a következő, és megpróbálom képekkel is illusztrálni :
Amikor az animáció még nem indult el, minden rendben van és hajszál pontosan figyelnek a kis képkockák egymás mellett, mintha egy sima képet nézne az ember. Ekkor valahogy így fest a dolog. (Jah igen a képeknek tükörképük is van amint látható. Ők is animálódnak a képpel együtt és fontos hogy ők átlátszóak!) Amikor azonban lefut az első animáció, és átpördülnek az egyes képkockák, akkor pedig ez fogad. A képen nem lehet észrevenni, a változást, azért mert az egyes képkockák nem átlátszóak, de ott is ugyan az a probléma ami a tükörképen nagyon jól látható, tehát hogy kicsit összeérnek az egyes képkockák animáció után. Pedig a forgatási pont tökéletesen középen van.
Szóval meg szeretném oldani, hogy ne legyenek ott azok a ronda csíkok a képkockák között a tükörképnél, és animáció után is jól illeszkedjenek.
Még egy fontos dolog : TweelLite-ot használok az animációkhoz, nem tudom hogy ez esetleg számít-e ?
A segítséget előre is köszönöm szépen mindenikek.
■ Egy kis segítséget szeretnék kérni Flash ügyben. Egy képváltó animáción dolgozok, ami felbontja a képet kis 50x50-es négyzetekre (Kis Bitmap-eket gyárt belőle) és egyenként pörgeti őket, amikor pedig átfordulnak megjelenik a következő kép megfelelő képkockája.
Az eredeti képből gyártott kis 50x50-es Bitmap képkockák, bele vannak téve egy-egy Sprite-ba, amik szigorúan és pontosan egymás mellé és alá vannak pozicionálva, így olyan mint ha egy sima kép lenne a sok kis Sprite és bennük az 50x50-es Bitmap-ek. A Sprite-ok azért kellenek, mert nem közvetlenül a Bitmap-eket animálom hanem a konténert amiben vannak vagyis a Sprite-ot, így amikor átfordul egy Sprite csak a benne levő Bitmap-ot kell kicserélni a következő megjelenítendő kép megfelelő képkockájára és fordulhat megint tovább a következő képnél. A Sprite-ok rotationY attribútumát animálom, mindig +180 fokkal egy-egy új képnél. A Sprite-okban a Bitmap-ek -25, és -25 képponttal vannak eltolva x és y tengely szerint, azért mert a középpontjuknál fogva forgatom őket, illetve pontosabban a Sprite-ot, de ugye annak meg 0,0 a regisztrációs pontja ami mentén a forgatás majd történik.
A problémám a következő, és megpróbálom képekkel is illusztrálni :
Amikor az animáció még nem indult el, minden rendben van és hajszál pontosan figyelnek a kis képkockák egymás mellett, mintha egy sima képet nézne az ember. Ekkor valahogy így fest a dolog. (Jah igen a képeknek tükörképük is van amint látható. Ők is animálódnak a képpel együtt és fontos hogy ők átlátszóak!) Amikor azonban lefut az első animáció, és átpördülnek az egyes képkockák, akkor pedig ez fogad. A képen nem lehet észrevenni, a változást, azért mert az egyes képkockák nem átlátszóak, de ott is ugyan az a probléma ami a tükörképen nagyon jól látható, tehát hogy kicsit összeérnek az egyes képkockák animáció után. Pedig a forgatási pont tökéletesen középen van.
Szóval meg szeretném oldani, hogy ne legyenek ott azok a ronda csíkok a képkockák között a tükörképnél, és animáció után is jól illeszkedjenek.
Még egy fontos dolog : TweelLite-ot használok az animációkhoz, nem tudom hogy ez esetleg számít-e ?
A segítséget előre is köszönöm szépen mindenikek.
konténer
Próbáltad már páratlan szélesség/magassággal is? (49x49)
Igen
Sőt kipróbáltam hogy az összes közül csak egyetlen képkockát animálok, a többi marad mozdulatlan, és ugyan az a helyzet. Mihelyt megmozdul valami "elcsúszik" az összes képkocka pedig hozzájuk se nyúltam. Én nem értem az egészet...
3D
Teszteltem, és mindegyik képkocka közé raktam 1-1 pixel távolságot hogy jobban szemléltethető legyen a probléma. Ezen a képen a .rotation attribútum szerinti forgatás látható. Az egyes képkockák forgatási sorrendje a jobb felső sarokból a bal alsó fele tart megfelelő késleltetéssel közöttük. Kékkel jelöltem a bal alsó sarokban a forgatás előtti állapotot, és szintén kékkel a jobb felső sarokban a forgatás utáni állapotot. Látható ebben az esetben nincsen probléma, a térközök megmaradtak az egyes képkockák között.
A rotationY attribútum esetében (de a probléma ugyan úgy jelentkezik rotationX és Z esetében is) a kezdeti helyzet látható újfent ezen a képen. Y tengely mentén történő rotáció után/közben pedig így fest a dolog. Kékkel jelöltem az animáció előtti, és pirossal az az utáni állapotot. Látható, hogy mintha mindegyik képkocka megnyúlna X és Y tengely mentén is, pedig én hozzá se nyúltam semmihez csupán a rotationY attribútumot tween-elem. Nah erre varrjon gombot valaki... :D
Megoldva