>>>>> On Wed, 22 May 2002 02:01:14 +0200, "Lo'oRiS il Kabukimono" >>>>> <lo_oris@xxxxxxxxx> said: >> Scusa, ma come "non si vedono proprio"?? Può una funzione C >> essere sicura che il parametro che le è arrivato è proprio del >> tipo previsto? LiK> No, non intendevo quello! Bè diciamo che in un certoqualmodo LiK> in effetti può fare un controllo del genere: la funzione usa LiK> il parametro, e se si accorge di essere ancora viva (= no LiK> segfault) è ragionevole supporre che il parametro sia LiK> corretto ^__^ >> codice scritto con Allegro (che non ho ancora capito >> esattamente cosa sia, tra l'altro). LiK> Allegro = Allegro Low Level Game Routines http://alleg.sf.net LiK> Sottotitolo: "a game programming library" LiK> È la libreria per la *grafica* ¹ 2D più potente e portabile LiK> ¹... e, no, non credo di poter essere smentito 8) Aggiungi LiK> che oltre alla grafica fa suono, input, timing, "packfiles" LiK> (anche compressi e criptati),... Mah, sono andato a curiosare, e nel Tutorial non sembro trovare buoni esempi di approccio OO alla cosa. Sono andato in fretta, senza dubbio, ma per la verità non ne ho trovati proprio (né di buoni, né altri) :-! Uno per tutti: 4.4.2 Making things appear to move The simplest way to make something appear to move is to erase it from where it is and put it on the screen again somewhere else... int x; install_timer(); /* required for `rest' */ circlefill (screen, 0, 100, 5, 15); /* draw first time */ for (x = 1; x < 320; x++) { /* loop across the screen */ rest (10); /* slow it down */ circlefill (screen, x - 1, 100, 5, 0); /* erase from last place */ circlefill (screen, x, 100, 5, 15); /* redraw at new place */ } Come "cancellare da dov'era"? Ma in ambito OO, è l'oggetto l'unico depositario di questa informazione!! Confronta con questo esempietto tratto da Evas, la libreria grafica sviluppata da quel pazzo furioso di Rasterman per Enlightement DR17: object = evas_add_line(evas); evas_set_line_xy(evas, object, 220.0, 240.0, 390.0, 380.0); evas_set_color(evas, object, 30.0, 80.0, 80.0, 200.0); evas_show(evas, object); oppure con questo o = evas_object_get_named(evas_view, "pointer"); if (o) { evas_move(evas_view, o, mouse_x, mouse_y); if (evas_pointer_in(evas_view) || evas_pointer_in(evas_control)) evas_show(evas_view, o); } Insomma, pur non pronunciandomi sulla bontà della libreria, non ci vedo grandi segni di OO, contrariamente a quanto ho visto fare in Evas: http://enlightenment.sf.net/pages/evas.html ha un bel manualone in pdf, ricco di esempietti con relativo "screenshot". E' veramente Impressive! Su Debian c'è un pratico `evas_demo', linkato staticamente, vale quasi uno screen saver :-) ciao, lele. -- nickname: Lele Gaifax | Quando vivro' di quello che ho pensato ieri real: Emanuele Gaifas | comincero' ad aver paura di chi mi copia. email: lele@xxxxxxxxxx | -- Fortunato Depero, 1929. -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx