Gambas-it
Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: vuott - 02 Settembre 2010, 10:02:07
-
Come poter spostare un carattere (ad esempio la lettera "a") con il mouse da un punto ad un altro all'interno di una DrawingArea ?
-
??? ??? ???
Se è in una DrawingArea, il carattere è in pratica un disegno.
Se hai le coordinate dell'oggetto, con gli eventi DrawingArea_Mouse(Up/Down/Move) devi gestirti il movimento. Questo è il giochetto su cui si basa anche pgDesigner (scusa per la pubblicità, ma è per fare un esempio...).
Tutto quanto ho detto, se ho compreso bene la tua domanda.
Se ti servono ulteriori ragguagli, chiedi pure.
-
visto che certa gentaglia fa solo pubblicita e non ti da la soluzione, di do un aiuto io ;D
nel mio programma gesthotel... ops scusa la pubblicità ....
cmq una lettera come qualsiasi testo in una drawing area si disegna con
draw.text(testo,x,y)
quindi se vuoi spostarla dovrai disegnare lo sfondo e poi la lettera cambiandogli la posizione, usando come suggerito da md.... eventi tipo DrawingArea_Mouse(Up/Down/Move) o altri
il tutto è molto semplicistico ma può esserti utile per capire in cosa ti stai infilando :P
-
Oppure, come si faceva sui computer che non avevano gli sprite (vedi il mio vecchio C16 oppure il GW-BASIC) si riscriveva il testo con il colore di sfondo nell'esatta posizione del precedente, in modo da "cancellarlo" pixel per pixel, e poi si scriveva nella nuova posizione riusando questa volta il colore principale. :coder:
-
ehehehe, bella leo... questo è valido se non esistono altri oggetti, altrimenti sei costretto a ridisegnarti tutta la drawing...
Purtroppo in Gambas non esiste modo di fare altro, a differenza di altri linguaggi che hanno la possibilità di gestire i layer, e gli oggetti che ci disegni in modo indipendente...
Comunque, non è un grosso problema con aree di disegno relativamente piccole... è abbastanza veloce...
-
...può esserti utile per capire in cosa ti stai infilando :P
...e non nel senso "migliore" ! Ahimé ! :-X
-
ehehehe, bella leo... questo è valido se non esistono altri oggetti, altrimenti sei costretto a ridisegnarti tutta la drawing...
Purtroppo in Gambas non esiste modo di fare altro, a differenza di altri linguaggi che hanno la possibilità di gestire i layer, e gli oggetti che ci disegni in modo indipendente...
Comunque, non è un grosso problema con aree di disegno relativamente piccole... è abbastanza veloce...
Infatti, se ho capito bene, con Gambas3 la cosa se puo' fa'.
Allego esempio. :)
-
Non posso vedere il tuo esempio, per adesso, ma se la tua affermazione è vera, la versione 3 in questo ambito fà un enorme balzo in avanti.
...devo provare assolutamente... solo che le prove di conversione di pgDesigner mi stanno rompendo, sono troppe le differenze e le cose che ancora non funzionano... mannaggia... devo provare a fare qualche prova esterna...
-
E' vero. sembrano sprite XD
-
Confermo l'intuizione di Milio. Con G3 la cosa è altamente fattibile.
Però non esaltatevi subito, la "potenza di fuoco" grafica è aumentata esponenzialmente rispetto a G2 ma alcune cose si devono fare ancora con vecchi sistemi (esempio un platform game), di contro la velocità di elaborazione di G3 è talmente aumentata che la fluidità è decisamente migliorata anche con le "vecchie" tecnologie.