Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: abelsein en Diciembre 19, 2018, 10:26:54 PM

Título: duda con sprites
Publicado por: 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?
Título: Re:duda con sprites
Publicado por: Seirlord_Games en Diciembre 20, 2018, 12:25:51 AM
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
Título: Re:duda con sprites
Publicado por: abelsein en Diciembre 20, 2018, 12:40:42 AM
listo ya lo hice muchisimas gracias amigo :D
Título: Re:duda con sprites
Publicado por: Jucarave en Diciembre 20, 2018, 12:49:32 AM
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]
Título: Re:duda con sprites
Publicado por: abelsein en Diciembre 20, 2018, 01:10:02 AM
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?
Título: Re:duda con sprites
Publicado por: Seirlord_Games en Diciembre 20, 2018, 01:32:28 AM
Cuando le sumes la vida pon:
vida = min(vida+20, 100)

Título: Re:duda con sprites
Publicado por: abelsein en Diciembre 20, 2018, 01:36:20 AM
listo :D muchas gracias, como funciona ese "min"?? disculpa la molestia :D
Título: Re:duda con sprites
Publicado por: Seirlord_Games en Diciembre 20, 2018, 01:42:28 AM
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
Título: Re:duda con sprites
Publicado por: kostra en Diciembre 23, 2018, 02:01:33 AM
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