tengo una duda, como podria hacer para que cuando mi player agarre un objeto o algo por el estilo este cambie su skin por completo? puedo hacer que mi obj player se transforme en otro obj player que tengo pero con diferentes sprites?
Cita de: abelsein en Diciembre 19, 2018, 10:26:54 PM
tengo una duda, como podria hacer para que cuando mi player agarre un objeto o algo por el estilo este cambie su skin por completo? puedo hacer que mi obj player se transforme en otro obj player que tengo pero con diferentes sprites?
Claro, puedes cambiar el sprite del objeto con sprite_index.
Por ejemplo si Mario coge una flor de fuego, cambia a uns skin de fuego. Pues en el código, cuando detecta que ha cogido esr objeto poner sprite_index = spr_mario_fuego
Luego ya tienes que ir jugando con esto si tienes diferentes animaciones para cada uno
listo ya lo hice muchisimas gracias amigo :D
En ese caso guardalos en variables, por ejemplo: en vez de hacer:
[gml]
sprite_index = sprPersonajeCorriendoArriba;
[/gml]
guarda todos tus sprites en variables (esto por ejemplo en el evento create)
[gml]
corriendoArriba = sprPersonajeCorriendoArriba;
corriendoAbajo = sprPersonajeCorriendoAbajo;
//... así con todos
[/gml]
y luego cuando asignes el sprite lo haces con la variable:
[gml]
sprite_index = corriendoArriba;
[/gml]
Luego cuando obtengas el item que quieras, cambias las variables
[gml]
corriendoArriba = sprPersonajeFase2CorriendoArriba;
corriendoAbajo = sprPersonajeFase2CorriendoAbajo;
//... y con el resto
[/gml]
muchas gracias amigo, otra pregunta, tengo un objeto que me da +20 de vida, el problema es que cuando tengo ejemplo 90 de vida y mi vida maxima es 100 entonces al agarrar el objeto me deja con vida de 110 sobrepasando mi vida maxima, alguna recomendacion?
Cuando le sumes la vida pon:
vida = min(vida+20, 100)
listo :D muchas gracias, como funciona ese "min"?? disculpa la molestia :D
Se queda con el valor que sea mas bajo. Asi que si la suma de la vida + 20 es mayor a 100, se queda con el 100
disculpen mi intrusión, pero he de decirte gracias seilord xDD y yo toda mi vida poniendo vida += 2; if vida > 100 vida = 100; xDDD