Prima di affrontare questo argomento dal punto di vista informatico, bisogna fare una premessa dal punto di vista tecnico, non ha senso cercare di essere realmente veloci, molte volte basta far sentire la velocità, magari. Inoltre gli schermi hanno una frequenza di aggiornamento di 60Hz, cioè ogni 0.017 secondi, ogni variazione sotto questo tempo è ignorata. Quindi basterà aumentare l'angolo di rotazione ad ogni aggiornamento, invece di aumentare il numero degli aggiornamenti, per avere l'effetto desiderato.
Fatta questa premessa, passiamo al codice. Creiamo uno stack con un poligono, un pulsante e uno scroller che chiameremo angolo:
Per ruotarlo basta sfruttare la proprietà angle.
Scrivendo questo codice, possiamo ruotare il triangolo ad ogni fotogramma dell'angolo voluto:
on mouseUp if the label of me is "START" then set the label of me to "STOP" ruotafigura else set the label of me to "START" end if end mouseUp
on ruotafigura if the label of me is "START" then exit ruotafigura end if put the thumbpos of scrollbar "angolo" into Dangolo put the angle of graphic 1 into curangolo put dangolo + curangolo into curangolo set the angle of graphic 1 to curangolo send ruotafigura to me in 0.017 sec #non ha senso scendere sotto questo valoreend ruotafiguraE questo è il risultato:
Notate come se la velocità supera quella del monitor, si creano strani effetti ottici stroboscopici (ad esempio che sembra ruotare all'indietro), come nella realtà.

Nessun commento:
Posta un commento