Devo cambiare il colore di un testo normalmente color nero, a color giallo quando ci passo sopra con il mouse.
Non uso sprite, posiziono l oggetto della room e poi se il mouse si trova nell'area di grandezza uguale al testo inserito allora deve colorarsi, con gli eventi click per esempio per cambiare room funziona.
Ho provato a cambiare la variabile color nell'evento step (la variabile la uso per draw_set_color(color)) , ma cosi non funziona e non so come fare.
In teoria dovrei far ripartire l evento draw di quel testo quando entro col mouse nell'area di testo.
Ricaricare la room con le variabili aggiornate quando entro o esco dall'area non è un opzione accettabile.
Consigli?
Cambiare colore testo passandoci con il mouse
- doom13
- Moderatore
- Messaggi: 2093
- Iscritto il: 31/08/2012, 15:40
- Specialità: Programmazione
- Uso: GM:Studio 2
- Contatta:
Re: Cambiare colore testo passandoci con il mouse
Supponendo che il testo str si trovi alle coordinate (x, y) potresti fare una cosa del genere:
if(mouse_x >= x and mouse_x < string_width(str)
and mouse_y >= y and mouse_y < string_height(str))
draw_set_color ecc
if(mouse_x >= x and mouse_x < string_width(str)
and mouse_y >= y and mouse_y < string_height(str))
draw_set_color ecc
Spoiler
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"
Re: Cambiare colore testo passandoci con il mouse
ho gia provato a inserire i draw_set_color, draw_set_font e draw_text che uso nell evento draw nell evento step, ma non funzionano, rimane nera la scritta.doom13 ha scritto:Supponendo che il testo str si trovi alle coordinate (x, y) potresti fare una cosa del genere:
if(mouse_x >= x and mouse_x < string_width(str)
and mouse_y >= y and mouse_y < string_height(str))
draw_set_color ecc
come detto l'area di selezione funziona dato che i click funzionano.
- Wolfrost
- Membro super
- Messaggi: 692
- Iscritto il: 03/08/2014, 13:08
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Pro
- Località: Una galassia lontana lontana...
- Contatta:
Re: Cambiare colore testo passandoci con il mouse
La soluzione potrebbe essere abbastanza semplice. Abbiamo il tuo Draw Event, dove disegni la tua stringa che chiamiamo "str" alle coordinate x ed y (tutto supponendo ovviamente).
Il tuo draw event deve funzionare così
Un'altra soluzione richiede l'uso di un bello script
E poi chiami semplicemente così:
Certamente la seconda soluzione contribuisce alla leggibilità del codice, e non solo a quello, credo.
Il tuo draw event deve funzionare così
Codice: Seleziona tutto
///DRAW EVENT
//Tra tutti i codici, c'è quello per disegnare questo testo, MA con un certo colore. Usiamo quindi una variabile
var color = c_black; //Default value
draw_text_color(x, y, str, color, color, color, color, 1);
//Poi basta buttarci un controllo ad if come ha fatto il caro Doom
if(mouse_x >= x and mouse_x < string_width(str)
and mouse_y >= y and mouse_y < string_height(str))
color = c_yellow; //Se proprio vuoi il giallo, ma modifica come vuoi.
Codice: Seleziona tutto
///scr_changeColorMouseOver(str,x,y,color,default);
var color = argument4;
var xx = argument1, yy = argument2, str = argument0;
if(mouse_x >= x and mouse_x < string_width(str)
and mouse_y >= y and mouse_y < string_height(str))
color = argument3;
return color;
Codice: Seleziona tutto
///DRAW EVENT
//Tra tutti i codici, c'è quello per disegnare questo testo, MA con un certo colore. Usiamo quindi una variabile
var color = scr_changeColorMouseOver(str,x,y,c_yellow,c_black);
draw_text_color(x, y, str, color, color, color, color, 1);
Re: Cambiare colore testo passandoci con il mouse
quindi andava sull evento draw, problema risolto, grazie.
Chi c’è in linea
Visitano il forum: Nessuno e 35 ospiti