Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: ian12 en Marzo 13, 2014, 05:41:30 AM

Título: ¿Como hacer que mi personaje cambie al recoger objetos?
Publicado por: ian12 en Marzo 13, 2014, 05:41:30 AM
Pues bueno.. Me gustaría una ayudita  :-[

Básicamente me gustaría saber como hacer que mi personaje (juego de plataforma 2D), pueda recoger primero un yelmo, luego un escudo y luego una espada (en distintas rooms) y pase esto..

Al recoger el yelmo, el daño que reciba se vea reducido..

al recoger el escudo, el daño también se reduzca sumado a lo del yelmo (pero cuando aprieto para usarlo)..

y que cuando recoga la espada, pueda causar daño al usarla (obviamente) Y SE SUME A LO ANTERIOR..

(HARÉ QUE LOS RECOGA SI O SI)

OSEA, Y QUE PERSISTA SU VIDA Y EXPERIENCIA AL CAMBIAR, Y QUE LOS OBJETOS SE VAYAN SUMANDO

El personaje ya tiene el sistema para que dañe a los enemigos saltándoles encima y me gustaría conservar esto al cambiar.. PERDONEN SI SUENA MUY AMBICIOSO :P


Mis conocimientos son limitados, así que si me lo pueden poner simple estaría bien  ???



Título: Re:¿Como hacer que mi personaje cambie al recoger objetos?
Publicado por: LowHertzs en Marzo 13, 2014, 11:37:43 AM
Tendrías que hacer un sistema de variables globales, infórmate mas sobre estas y verás como no es muy difícil de hacerlo.
Título: Re:¿Como hacer que mi personaje cambie al recoger objetos?
Publicado por: Mgbu en Marzo 13, 2014, 06:10:15 PM
O sea, con lo que dijo LowHertzs vos vas a poder hacer que el juego se acuerde de que si agarraste el escudo o no por ejemplo. Una forma sería que al principio del juego crees una variable global llamada "global.resistencia" y le pongas valor 0, pensando que 0 es nada de resistencia y 1 es resistencia total
Cuando agarre el yelmo modificás la variable global.resistencia y hacés que ahora sea un poco más resistente, por ejemplo haciendo que ahora sea 0.2
Luego cuando agarre el escudo hacés que aumente a 0.4 y así sucesivamente

Luego cuando el jugador reciba daño vas a tener que caclular el daño recibido teniendo en cuenta la resistencia, por ejemplo:
daño_recibido = fuerza_golpe * (1 - global.resistencia)
Título: Re:¿Como hacer que mi personaje cambie al recoger objetos?
Publicado por: penumbra en Marzo 13, 2014, 08:32:00 PM
para empezar, a cada item equipable le debes especificar sus atributos.

[obj_esc]       
globalvar shield = 5    //Defensa del ESCUDO

[obj_yel]       
globalvar helmet = 2    //Defensa del YELMO

[obj_sw]                 
globalvar sword = 4     //Ataque de la ESPADA

[obj_jugador]
it_sw = 0                   //al iniciar el juego, no hay espada equipada
it_yel = 0                   //ni yelmo equipado
it_esc = 0                  // ni escudo.

cuando el jugador recoja un item, la variable respectiva cambia a 1. Si el jugador ya recogió los tres items. it_sw = 1; it_yel = 1; it_esc = 1.

[FÓRMULAS EN EN JUGADOR]

defensa = (it_yel * helmet) + (it_esc * shield) + [cualquier otra defensa que el jugador tenga, armadura, amuletos, etc.]
ataque = (it_sw * sword) + [cualquier otra bonificación al ataque]


Si por ejemplo, el yelmo no se ha recogido, (it_yel * helmet) es igual a 0, por lo que la fórmula no se ve afectada, si el yelmo ya se recogió, (it_yel * helmet) es igual a 2, que es la bonificación por defensa que otorga el yelmo, la cual se suma a las otras bonificaciones si es que ya recogiste sus objetos.

Hay más de una manera de hacer lo que pides, ésta es una nada más.
Título: Re:¿Como hacer que mi personaje cambie al recoger objetos?
Publicado por: ian12 en Marzo 15, 2014, 10:28:03 AM
Gracias, trataré de arreglármelas con sus respuestas :D