• Non ci sono risultati.

animazioni g2d

N/A
N/A
Protected

Academic year: 2021

Condividi "animazioni g2d"

Copied!
10
0
0

Testo completo

(1)

A. Ferrari

g2d

animazioni

(2)

A. Ferrari

disegno

import g2d # modulo per la grafica 2d

# finestra grafica (canvas), larghezza=600, altezza=400 g2d.init_canvas((600, 400))

# rettangolo((r,g,b),(left,top,w,h))

# giallo (255,255,0)

# spigolo x=150, y=100, larghezza=250, altezza=200 g2d.draw_rect((255, 255, 0), (150, 100, 250, 200))

# cerchio((r,g,b),(x_centro,y_centro), raggio) g2d.draw_circle((0, 0, 255), (400, 300), 20)

# Ciclo gestione eventi finestra g2d.main_loop()

(3)

A. Ferrari

linee e testi

# linea((r,g,b),(x0,y0),(x1,y1))

g2d.draw_line((0, 255, 0), (150, 300), (400, 100))

# testo(stringa,(r,g,b),(x_left,y_top),dimensione) g2d.draw_text("Hello", (255, 0, 0), (150, 100), 40 )

i = 0

while i < 10:

x = i * 25 y = i * 25 red = i * 25

g2d.draw_rect((red, 0, 0), (x, y, 100, 100)) i += 1

g2d.main_loop()

(4)

A. Ferrari

animazione

import g2d # modulo per la grafica 2d

def disegna():

'''

imbianca il canvas

disegna una immagine alle coordinate x,50 sposta x di 5 pixel

'''

global x

g2d.fill_canvas((255, 255, 255)) # sfondo bianco g2d.draw_image(imm, (x, 50)) # disegna pallina x = (x + 5) % 320 # modifica x pallina

# finestra grafica (canvas), larghezza=320, altezza=200 g2d.init_canvas((320, 200))

imm = g2d.load_image("ball.png") # carica immagine in variabile imm

x = 50 # posizione iniziale

(5)

A. Ferrari

eventi da tastiera

def tasto_giu(tasto: str):

print("premuto: ", tasto)

def tasto_su(tasto: str):

print("rilasciato: ", tasto)

# gestione pressione tasto

g2d.handle_keyboard(tasto_giu, tasto_su)

(6)

A. Ferrari

esercizi

python

introduzione e primi programmi

(7)

A. Ferrari

esercizi (1)

o d.1 quadrati casuali

o chiedere all'utente un numero n o disegnare n quadrati

o tutti con lato di 100 pixel o ciascuno in posizione casuale o ciascuno con un colore casuale

cominciare a disegnare un solo quadrato grigio, in posizione casuale

(8)

A. Ferrari

esercizi(2)

o d.2 orologio classico

o disegnare 12 tacche a raggiera, come in un orologio classico o miglioramento: disegnare anche le tacche dei minuti, più

piccole

usare math.sin e math.cos per determinare le posizioni in cui disegnare

(9)

A. Ferrari

esercizi (3)

d.3 movimento orizzontale

o mostrare una pallina che si muove in orizzontale o la pallina rimbalza sui bordi

memorizzare in una variabile dx lo spostamento orizzontale da effettuare ad ogni ciclo

cambiare segno a dx quando x < 0 oppure x + w > screen_width

(10)

A. Ferrari

esercizi (4)

d.4 movimento a serpentina

• mostrare una pallina che si muove a serpentina

• partire dall'esercizio precedente

• al momento del rimbalzo, imporre un spostamento verticale

• fare in modo che, in ogni frame, lo spostamento sia solo orizzontale, o solo

verticale, ma non diagonale

Riferimenti

Documenti correlati

Il tema di ricerca era l’individuazione di una metodologia di le ura della stru ura urbana del centro storico di Torino come risultato di un processo di proge

LM: Fin da principio l’a enzione di Studio Azzurro è stata alla relazione tra spazio immagini e spet- tatore, all’espansione della narrazione dentro lo spazio, alla luce che con

- Franco Purini, Paesaggio Uno, serie Sette Paesaggi, china su carta, 2014;.. - Franco Purini, Paesaggio Due, serie Sette Paesaggi, china su

Le soglie della produzione scien fi ca si sono abbassate e questo è stato, a mio avviso, un gravissimo danno per il nostro se ore disciplinare (ANVUR).. Può fornire

Come dicevo prima, disegnare per me è un modo per capire la realtà, è vero, ma è sempre stato innanzi- tutto una passione, nel senso anche di divertimento nel disegnare o nel

● Ma soprattutto cerchiamo di capire se e quanto e' possibile migliorare l'algoritmo sequenziale (vedi lezione 6) e/o se esistono algoritmi sequenziali

Attività realizzate in occasione della Lectio Magistralis di Jose Oubrerie, resa possibile grazie al contributo della Fondazione Cassa di Risparmio di Gorizia, tenuta il 23 giugno

l’ospedale di Venezia, Marsilio, Venezia