Hola, llevo un par de días intentando solucionar un bug (o al menos creo que lo es) en el uso de strings para evitar trabajo extra. Soy muy torpe en temas de código así que a lo mejor es algo superbásico.
Este es el código que se ejecuta cuando se detecta el mouse clickando en la pantalla. Al ejecutarlo todo ocurre correctamente pero no substituye bien el sprite, es como si e construyese mal, asigna el primer sprite de la carpeta.
Y este el script que se ejecuta
Se que no está nada resumido, pero si lo resumo no me aclaro con el funcionamiento al revisarlo.
El código pretende que al hacer click en el objeto busque el sprite con el nivel siguiente (de spr_uranium1 a spr_uranium2) y lo cambie. He pensado en crear una tabla, pero teniendo en cuenta que son unos 40 sprites no lo veo buena idea ???
Muchas gracias de antemano y siento ser tan desastre con el código estoy mejorando poco a poco :-[
Este es el código que se ejecuta cuando se detecta el mouse clickando en la pantalla. Al ejecutarlo todo ocurre correctamente pero no substituye bien el sprite, es como si e construyese mal, asigna el primer sprite de la carpeta.
Código [Seleccionar]
//Check by order
//Check uranium
if position_meeting(mouse_x, mouse_y, obj_reactor_uranium)= true{
script_execute(scr_upgradeObj, obj_reactor_uranium, "spr_uranium");
}
//Check turbine
else if position_meeting(mouse_x, mouse_y, obj_reactor_turbine)= true{
script_execute(scr_upgradeObj, obj_reactor_turbine, "spr_turbine");
}
//Check refresh
else if position_meeting(mouse_x, mouse_y, obj_reactor_refresh)= true{
script_execute(scr_upgradeObj, obj_reactor_refresh, "spr_refresh");
}
//Check ouput
else if position_meeting(mouse_x, mouse_y, obj_reactor_ouput)= true{
script_execute(scr_upgradeObj, obj_reactor_ouput, "spr_ouput");
}
Y este el script que se ejecuta
Código [Seleccionar]
// argument0 = object to upgrade
// argument1 = name of the object
//Check uldate level
with(argument0){
//check if the object is full (capado hasta 10 piezas, cambiar para modificar)
if level <= 10{
//Set new level
level+=1;
//Change sprite
i=string_length(argument1);
sprite_index=string_insert(level, argument1, 11);
}
}
Se que no está nada resumido, pero si lo resumo no me aclaro con el funcionamiento al revisarlo.
El código pretende que al hacer click en el objeto busque el sprite con el nivel siguiente (de spr_uranium1 a spr_uranium2) y lo cambie. He pensado en crear una tabla, pero teniendo en cuenta que son unos 40 sprites no lo veo buena idea ???
Muchas gracias de antemano y siento ser tan desastre con el código estoy mejorando poco a poco :-[