![]() |
[Flash] Draaiende limoen
Ik wil een interactieve draaiende limoen die steeds harder naar rechts draait als je met de muis verder naar rechts gaat en steeds harder naar links draait als je met de muis verder naar links gaat. Dit heb ik inmiddels voor elkaar.
De moeilijkheid zit m in het stoppen van het draaien. Ik wil namelijk dat als de muis niet over de limoen is (onRollOut) de limoen langzaam afremt met draaien tot ie stil staat. De code: Code:
mouseInterval = setInterval(rotation,10); De variabele "pos" geeft de positie aan van de limoen op elk moment. Dit heb ik gedaan zodat ik in de "stoppen" functie aan kan geven dat de limoen moet beginnen met afremmen bij de positie "pos"... Iemand een idee? |
functies als 1/x of andere functies met een assymptoot gebruiken?
|
Citaat:
Ik heb niet echt een variabele ofzo. Ik lijk die variabele "pos" niet te kunnen gebruiken ofzo...of moet ik m buiten die functie zetten? |
pos is een private variabele van functie draai
je zou dus voor functie stoppen eerst die variabele weer aan moeten maken. Ju kunt ook gewoon meteen _root._xmouse-limoen._x gebruiken, wat je waarschijnlijk wilt. Ik denk dat je dat ding iedere 10ms iets langzamer langzamer gaten draaien, totdat hij stilstaat, dus: Code:
function stoppen () { |
Citaat:
Ik moet die 250 best wel laag maken om m snel te laten vertragen (waarschijnlijk zat hier mijn fout in, ik had steeds een waarde van ongeveer 250 aangehouden waardoor de vertraging nagenoeg niet te zien is...ik heb nu een waarde van 20). Dus het werkt!! Fucking eindelijk. Er zijn nog 2 dingetjes waardoor het niet 100% naar behoren werkt: De limoen remt af in de omgekeerde richting. Dus als ie bijv. naar rechts draait, je onrollOut, dan gaat ie opeens naar links draaien en remt tegelijkertijd af. En de limoen stopt op een vast punt (hetzelfde punt als dat ie begint). Ik weet dat ik dit kan oplossen door de functie aan te passen, ik ben niet slecht in wiskunde, maar niet goed genoeg om te zien wat ik aan moet passen. Dus als je me daar ook nog even bij zou willen helpen ben ik je nog dankbaarder dan ik al was :) |
Hij gaat misschien de verkeerde kant op omdat -= niet goed werkt ofzo. Je zou
limoen._rotation -= limoen._rotation/250; kunnenn vervangen door limoen._rotation = limoen._rotation - limoen._rotation/250; Dat hij altijd op hetzelfde punt stopt omdat hij stopt als de het ding 0 geroteerd is. Om dit te verhelpen zou je iets moeten hebben om de snelheid te kunnen bepalen, bijvoorbeeld een hulpvariabele. Het zou zo kunnen: Code:
mouseInterval = setInterval(rotation,10); |
Ik weet waarom de limoen de verkeerde kant op draait, dat heeft met het 2e probleem te maken:
Als de limoen afremt gaat ie terug naar zijn beginpositie, hiervoor neemt ie de kortste weg (geloof ik) en als je dus naar rechts draait als je onRollOvert, dan draait ie terug naar links om weer in zijn oude positie te komen. Ik heb je code geïmporteerd, maar hij werkt niet helemaal. En omdat ik het probleem dus inmiddels weet heb ik ook niet uitgezocht wat er niet aan klopt. Daarbij weet ik ook helemaal nix van de "_global property" of wat het ook is (in Flash moet er nog een underscore voor). Ik ben inmiddels aan een volgende uitdaging begonnen. Ik wil namelijk knoppen op de limoen hebben, maar geen simpele, maar van die fancy die langzaam wit worden als je onRollOvert en langzaam weer uitfaden als je onRollOut. Dit kan door er movieclips van te maken, maar aangezien deze movieclip-buttons op de limoen zitten (ze moeten meedraaien) zitten ze dus in de limoen movieclip... En dan werkt het dus niet meer zo goed. Dit is de code die ik heb in de limoen (dus in een movieclip): Code:
home.onRollOver = over; De verwijzingen die bij die gotoAndPlay horen (frame 2 en 11) verwijzen naar de frames in de movieclip "home". Volgens mij moet ik met _parent en _root werken...maar daar ben ik niet zo goed in enzo... Iemand? :) |
Cancel that.
Heb een andere manier gevonden om bovenstaande te bereiken. Beetje omslachtig misschien, maar het werkt! Ik hoop binnenkort mn creatie hier te posten voor de mensen die het willen zien :P :o |
Jaaa
|
Alle tijden zijn GMT +1. Het is nu 16:46. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.