wenas, ahora es cuando me estoy acostumbrando más en tener mi propio set de script para facilitarme el trabajo futuro... el caso es que tengo un script para hacer un botón simple con image scale que es el siguiente:
[gml]///button()
/*
el origin del sprite necesita estar CENTRADO!!
ejemplo de buen uso: if button() { lo que hace al clickar el botón }
*/
if mouse_check_button_pressed(mb_left)
{
if mouse_x >= x-(sprite_width/2) and mouse_x < x+(sprite_width/2) and mouse_y >= y-(sprite_height/2) and mouse_y < y+(sprite_height/2)
{
image_xscale = 0.9;
image_yscale = 0.9;
}
}
else if mouse_check_button_released(mb_left)
{
if mouse_x >= x-(sprite_width/2) and mouse_x < x+(sprite_width/2) and mouse_y >= y-(sprite_height/2) and mouse_y < y+(sprite_height/2)
{
image_xscale = 1;
image_yscale = 1;
return true;
}
else
{
image_xscale = 1;
image_yscale = 1;
}
return true;
}[/gml]
el problema es que, tengo varios botones, el cual cito uno, step:
[gml]if button() {
oplayer.num = num;
oplayer.shot = 1;
}[/gml]
pero pasa que, uso el mismo script para varios botones con distinta variable "num" para asignarle al player, pero parece ser, que cuando retorna true en uno lo retorna en todos, eso porké? hago un mal uso de los scripts seguro, pero cuál? cómo arreglo esto para que pueda usar este script en varias INSTANCIAS y solo me retorne en ella?
porque por ejemplo, en un botón tengo esto:
[gml]if button() {
oplayer.num = num;
oplayer.shot = 1;
show_message("hola");
}[/gml]
el show_message solo lo tengo en UN BOTON pero si pulso otro me sale igual :S
y no, ninguno está emparentado en nada.
Grachie :B
No estoy del todo seguro pero creo que es porque siempre estas retornando true cuando hacer release de mouse, tienes algo como esto:
[gml]
else if mouse_check_button_released(mb_left)
{
if (dentro del boton){
// escala imagen
return true;
}else{
// escala imagen
}
return true; // <-- este es el problema, siempre retorna true cuando el player suelte el clic del mouse.
}
[/gml]
Saludos
Y por seguridad, cuando no se presiona el botón, debería devolver false.
como puedo estar tan ciego? xD
gracias juca, y sip, clamud gracias también lo tomé en cuenta, pero lo puse en el otro script botón pero con frames, gracias por recordármelo :B