Julio 16, 2014, 02:41:01 PM Ultima modificación: Julio 16, 2014, 02:44:49 PM por Yerieri
Buenas Comunidad :love:

Lo que quería saber es como crear un texto, el cual al cabo de unos pocos segundos desaparezca, y si puede ser se vaya difuminando. Gracias de antemano ;D

EDIT: Este codigo es al hacer click, pero no entiendo por que, el mensaje no se crea, no me da errar ninguno, simplemente no se crea:
if global.trigo>=5
{
action_create_object(vaca,random(300),random(640))
global.trigo-=5
}
else
{
draw_text(32,544,"Falta trigo")
}

Cita de: Yerieri en Julio 16, 2014, 02:41:01 PM
Buenas Comunidad :love:

Lo que quería saber es como crear un texto, el cual al cabo de unos pocos segundos desaparezca, y si puede ser se vaya difuminando. Gracias de antemano ;D

EDIT: Este codigo es al hacer click, pero no entiendo por que, el mensaje no se crea, no me da errar ninguno, simplemente no se crea:
if global.trigo>=5
{
action_create_object(vaca,random(300),random(640))
global.trigo-=5
}
else
{
draw_text(32,544,"Falta trigo")
}


Deverias probar ir cambiando de coordenadas puede que este tapado por algo... en cuanto a lo de hacerlo con tiempo eso se hace con alarmas, podrias crear una variable "show=0" en el evento create del objeto luego modificas el else de la siguiente manera


else
{
show=1
alarm[0]=room_speed*x
}


donde x seria el numero de segundos que quieres que aparezca el mensaje

en el evento DRAW iria algo como:


if show=1{
draw_text(32,544,"Falta trigo");}


y por ultimo en el evento ALARM 0 pones


show=0


eso, creo que deveria funcionar pero yo uso gms y tu gm8 no se que diferencias puedan haber

Cita de: 7sixerCF en Julio 16, 2014, 02:53:19 PM
Cita de: Yerieri en Julio 16, 2014, 02:41:01 PM
Buenas Comunidad :love:

Lo que quería saber es como crear un texto, el cual al cabo de unos pocos segundos desaparezca, y si puede ser se vaya difuminando. Gracias de antemano ;D

EDIT: Este codigo es al hacer click, pero no entiendo por que, el mensaje no se crea, no me da errar ninguno, simplemente no se crea:
if global.trigo>=5
{
action_create_object(vaca,random(300),random(640))
global.trigo-=5
}
else
{
draw_text(32,544,"Falta trigo")
}


Deverias probar ir cambiando de coordenadas puede que este tapado por algo... en cuanto a lo de hacerlo con tiempo eso se hace con alarmas, podrias crear una variable "show=0" en el evento create del objeto luego modificas el else de la siguiente manera


else
{
show=1
alarm[0]=room_speed*x
}


donde x seria el numero de segundos que quieres que aparezca el mensaje

en el evento DRAW iria algo como:


if show=1{
draw_text(32,544,"Falta trigo");}


y por ultimo en el evento ALARM 0 pones


show=0


eso, creo que deveria funcionar pero yo uso gms y tu gm8 no se que diferencias puedan haber

Pues me ha servido, menos por una cosa, el objeto en el que apreto para que suceda esto no es visible, si apreto en donde se supone que esta el objeto y no hay suficientes recursos sale el mensaje y desaparece,lo que queria, pero no se por que no aparece ahora el boton, he puesto los codigos tal como me dijistes, alguna idea?

Cita de: Yerieri en Julio 16, 2014, 03:17:34 PM
Cita de: 7sixerCF en Julio 16, 2014, 02:53:19 PM
Cita de: Yerieri en Julio 16, 2014, 02:41:01 PM
Buenas Comunidad :love:

Lo que quería saber es como crear un texto, el cual al cabo de unos pocos segundos desaparezca, y si puede ser se vaya difuminando. Gracias de antemano ;D

EDIT: Este codigo es al hacer click, pero no entiendo por que, el mensaje no se crea, no me da errar ninguno, simplemente no se crea:
if global.trigo>=5
{
action_create_object(vaca,random(300),random(640))
global.trigo-=5
}
else
{
draw_text(32,544,"Falta trigo")
}


Deverias probar ir cambiando de coordenadas puede que este tapado por algo... en cuanto a lo de hacerlo con tiempo eso se hace con alarmas, podrias crear una variable "show=0" en el evento create del objeto luego modificas el else de la siguiente manera


else
{
show=1
alarm[0]=room_speed*x
}


donde x seria el numero de segundos que quieres que aparezca el mensaje

en el evento DRAW iria algo como:


if show=1{
draw_text(32,544,"Falta trigo");}


y por ultimo en el evento ALARM 0 pones


show=0


eso, creo que deveria funcionar pero yo uso gms y tu gm8 no se que diferencias puedan haber

Pues me ha servido, menos por una cosa, el objeto en el que apreto para que suceda esto no es visible, si apreto en donde se supone que esta el objeto y no hay suficientes recursos sale el mensaje y desaparece,lo que queria, pero no se por que no aparece ahora el boton, he puesto los codigos tal como me dijistes, alguna idea?

prueba cambiar la variable show por otra quizas en game maker 8 sea una variable local standar de los objetos

Cita de: 7sixerCF en Julio 16, 2014, 03:22:31 PM
Cita de: Yerieri en Julio 16, 2014, 03:17:34 PM
Cita de: 7sixerCF en Julio 16, 2014, 02:53:19 PM
Cita de: Yerieri en Julio 16, 2014, 02:41:01 PM
Buenas Comunidad :love:

Lo que quería saber es como crear un texto, el cual al cabo de unos pocos segundos desaparezca, y si puede ser se vaya difuminando. Gracias de antemano ;D

EDIT: Este codigo es al hacer click, pero no entiendo por que, el mensaje no se crea, no me da errar ninguno, simplemente no se crea:
if global.trigo>=5
{
action_create_object(vaca,random(300),random(640))
global.trigo-=5
}
else
{
draw_text(32,544,"Falta trigo")
}


Deverias probar ir cambiando de coordenadas puede que este tapado por algo... en cuanto a lo de hacerlo con tiempo eso se hace con alarmas, podrias crear una variable "show=0" en el evento create del objeto luego modificas el else de la siguiente manera


else
{
show=1
alarm[0]=room_speed*x
}


donde x seria el numero de segundos que quieres que aparezca el mensaje

en el evento DRAW iria algo como:


if show=1{
draw_text(32,544,"Falta trigo");}


y por ultimo en el evento ALARM 0 pones


show=0


eso, creo que deveria funcionar pero yo uso gms y tu gm8 no se que diferencias puedan haber

Pues me ha servido, menos por una cosa, el objeto en el que apreto para que suceda esto no es visible, si apreto en donde se supone que esta el objeto y no hay suficientes recursos sale el mensaje y desaparece,lo que queria, pero no se por que no aparece ahora el boton, he puesto los codigos tal como me dijistes, alguna idea?

prueba cambiar la variable show por otra quizas en game maker 8 sea una variable local standar de los objetos

Pues por la variable no es, no lo entiendo, si quito los codigos que me dijistes si se ve el boton, pero con ellos puestos no se ve....

#5 Julio 16, 2014, 04:41:13 PM Ultima modificación: Julio 16, 2014, 04:45:55 PM por Guacusio
Puede ser que esto ocurra porque te falta dibujar el botón en el evento draw: cuando pones código en un evento draw de un objeto, éste deja de dibujar su sprite y pasa a dibujar en reemplazo lo que le indicas. Para solucionarlo, agrega en el evento draw lo siguiente:

draw_self();

Si usas GM8 en vez de 8.1, tienes que poner:

draw_sprite(sprite_index,-1,x,y);


Cita de: Guacusio en Julio 16, 2014, 04:41:13 PM
Puede ser que esto ocurra porque te falta dibujar el botón en el evento draw: cuando pones código en un evento draw de un objeto, éste deja de dibujar su sprite y pasa a dibujar en reemplazo lo que le indicas. Para solucionarlo, agrega en el evento draw lo siguiente:

draw_self();

Si usas GM8 en vez de 8.1, tienes que poner:

draw_sprite(sprite_index,-1,x,y);

Vaaaale, me sirvio lo de draw self!, muchas graciaas!

También se podría hacer con un ciclo FOR.

En el evento CREATE

temp1 = 1;




En el evento STEP

draw_self();
for(i=0; i<=30; i+=1) {
    temp-= 0.1
}



En el evento DRAW

draw_text(x,y,"TEXTO")
draw_set_alpha(temp1);




Cita de: arcanite24 en Julio 17, 2014, 03:08:46 AM
También se podría hacer con un ciclo FOR.

En el evento CREATE

temp1 = 1;




En el evento STEP

draw_self();
for(i=0; i<=30; i+=1) {
    temp-= 0.1
}



En el evento DRAW

draw_text(x,y,"TEXTO")
draw_set_alpha(temp1);




:-X No, no, no, eso no tiene ningún sentido...

¿Cómo pones una función draw en un evento step? No va a hacer nada.

En tu evento step la variable temp1 (suponiendo que quisiste decir temp1 y no temp) la cambias de 1 a -2 en un mismo step, y cuando llega el evento draw vas a tratar de asignar un alpha de -2... malo, malo, malo... y peor todavía, asignas un alpha después de ya haber dibujado el texto... Me parece que andas muy, muy perdido...