Animazione del Tallo

Per permettere di verificare visivamente quello che succede nel mondo dei Talli bisogna riprodurre graficamente il loro stato e la loro posizione e mantenerla nel tempo creando quindi un’animazione. Esistono sicuramente tante tecniche di animazione, io non le conosco, quindi ho immaginato che il modo più semplice sia quello di cancellare l’oggetto che si deve muovere prima di ridisegnarlo; 

Le coordinate

Le coordinate x e y che indicano la posizione del tallo non corrispondono esattamente al pixel in cui verranno disegnate, perchè per i movimenti obliqui si avrebbero dei movimenti alterati se non si conservano i decimali; quindi le coordina sono 100 volte più precise ma il disegno del pixel avviene sull’intero del valore di x o y diviso 100.

Utilizziamo i numeri

Utilizziamo i numeri per capire, se il movimento è di 1 pixel per ciclo la variazione sarà di massimo 100 , immaginiamo che lo spostamento sia di 30 gradi, la coordinata x (orizzontale) aumenterà di 50 (mezzo pixel) e la coordinata y diminuirà di 86 (vedremo quando parliamo del movimento come sono calcolati questi valori); per non perdere questa precisione dobbiamo arrotondare in fase di disegno ma conservarli.

Per questo il disegno viene fatto utilizzando il x_int e y_int che sono ottenuti semplicemente con l’istruzione tallo.x_int := round(tallo.x/100); Prima di impostare questi valori utilizziamo i precedenti per cancellare il Tallo dalla vecchia posizione;

In pratica, prima disegniamo il Tallo nella vecchia posizione con i colori di sfondo (praticamente lo stiamo cancellando) utilizzando x_int e y_int, dopo reimpostiamo x_int e y_int con le nuove coordinate e ridisegnamo il Tallo con i suoi colori. In questo modo otteniamo un’animazione quasi perfetta.

Maurizio

Lascia un commento