Hola quisiera saber como puedo implementar de alguna manera algun sistema en el cual por ejemplo al hallarse mi personaje herido o al ser golpeado con una espada o recibir un disparo se empieze a manchar de sangre, osea por ejemplo tengo el sprite del personaje y que ese sprite empieze a tener manchas de sangre encima y de ultima si se cura que desaparescar.-
osea como podria lograrlo de una manera mas o menos eficaz y en lo posible que consuma pocos recursos, dado que si tengo muchos personajes en pantalla y cada uno se mancha se pondria medio pesado. desde ya mil gracias.- Saludos.-

Mh, mañana te hago un ejemplo simple, a esta hora no creo que pueda. Pero tu problema también se soluciona con surfaces, el problema va a ser si el personaje tiene muchas subimágenes, porque habría que aplicar el efecto a todas y eso no sería muy rápido... Bueno, ya pensaremos en algo que no consuma muchos recursos y quede bonito xD




O tambien lo que podrias hacer es tenes el mismo sprites repetido, solo que ya manchado. Y verificando cuando le queda de vida, por ejemplo, ir cambiando de sprites.

Va a ser tedioso que vas a tener que arreglar los sprites uno a uno y si quieres muchos grados de manchado distinto, es un poco de trabajo, pero creo que no consumiria muchos recursos, a menos que sean demasiados sprites.

Son demasiados sprites y demasiadas subimágenes hasta donde recuerdo, él (mejor dicho ellos) ya habían venido con una duda por acá =P

EDIT: Te dejo el ejemplo que dije, funciona bien para una sprite estática, aunque calculo que para una en movimiento también, sólo que habría que transformar o todas las subimágenes juntas al momento del disparo o una por step, que se vería más fuido. El problema es que según recuerdo tus sprites giraban respecto a un eje al ser isométricas... Pero! Se puede idear un sistema mediante el cual la mancha de sangre gire exactamente con respecto a la sprite, quedaría de lujo, aunq habría que ver los sprites más detalladamente




Hola chicos muchisimas gracias por sus respuestas. Texic te agradesco muchisimo siempre respondes a mis dudas  de forma rapida y justo lo que necesito, y si recordas bien si bien reduje el numero de subimagenes de los personajes pesa muchisimo menos pero sigue teniendo muchas, el ejemplo que me armastes esta espectacular por lo que veo dibuja sobre el sprite y no fuera del mismo, muy bueno voy a probar cargarle varias subimagenes y ver como va funcionando y cualquier cosa si tenes alguna idea o si no puedo solucionarlo te aviso por el tema de que si es isometrico asi que quizas no se va a tener sangre en el pecho pero al girarse por ahy no tendria en la espalda pero si de costado, o bueno habria que ir viendo para que quede bien y que sea rapido, de conseguirlo va a quedar muy bueno. muchisimas gracias de nuevo.-
Texic +1 Karma
PD: aun no doy por solucionado el tema dado que me gustaria solucionarlo en la vista isometrica.-

Bueno, necesitaría el sprite que usás para el protagonista para ir armando el script correcto, es facil de hacer, simplemente hay que hacer que gire sobre un eje de 360 grados abierto según la subimágen de la que se trate, naturalmente cuando dibuje fuera del sprite no se va a ver y al entrar de vuelta por el otro lado va a dar la sensación de que la herida gira al igual que el personaje. Es cuestión de hacer pruebas. Otra opción es guardar el ángulo en el que se hizo la herida, y al girarla no dibujar los ángulos cuya diferencia con el original sea más de 90. Habría que verlo bien. Tenés el sprite por ahí?




#6 Agosto 17, 2012, 11:18:23 PM Ultima modificación: Agosto 18, 2012, 12:42:23 AM por the_blade
Hola Texic te agradesco muchisimo aca te paso los sprites ya esta todo armado dentro de un grafico general en formato .gmspr asi lo cargas directamente en el game maker, esta pintado por una cuestion de que todavia no difundi el juego final y para que no se empieze a filtrar por todos lados, pero va andar joya. si podes conseguir un efecto realista mejor asi va combinando con el juego. muchas gracias. un abrazo.-

#7 Agosto 18, 2012, 12:27:17 AM Ultima modificación: Agosto 18, 2012, 12:29:01 AM por Texic
Mh, con lo que va a haber problema de realismo es con las animaciones, así que usar surfaces queda descartado lamentablemente, lo que podés hacer es crear sprites con manchas de sangre ubicadas donde irían en ese frame de la animación, luego sería cuestión de dibujarlo encima del personaje, si la sprite del personaje es similar a la de los enemigos ya tendrías todo listo. Y para dibujar más o menos manchas de sangre sería cuestión de separarlas en sprites diferentes. Es más lioso, pero creo que es lo indicado en este caso particular, porque no habría manera de especificar con exactitud en la sprite cómo actuar según la subimagen, ya que cada una actúa de manera diferente y sería según en qué posición del cuerpo se encuentre. Para resumir, si quieren un buen rendimiento del juego, necesitan hacer un sprite de mancha con la misma cantidad de frames que el sprite que va a usar las manchas, y según la posición de la mancha adaptar su posición a todas las subímagenes. Mi recomendación sería que no se gasten mucho en hacer eso, sé que se ve mucho en los juegos de hoy en día, pero son 3D. En un isométrico 2D casi nunca se usa por el esfuerzo que lleva, tendrías que usar técnica que te dije, pero con la cantidad de animaciones y subimágenes, te va a llevar un laburo tremendo

PD: Ya no sé si hablar en plural o singular xD




Hola Texic bueno muchisimas gracia por las recomendaciones y bueno tenes razon si por ahora entonces no le voy a implementar eso entonces total sangre ahy igual. jejeje. y bueno en unos dias capaz este subiendo nuevas imagenes del juego con nuevos escenarios y personajes, quizas hasta un nuevo video. y bueno podes hablar en singular. jejeje total yo consulto y las respuestas en todo caso se las transmito a mis hermanos. ejjeje. un abrazo y muchas gracias.-

no me he parado a leer las respuestas xd así que aunque lo hayan dicho (no lo sé) digo lo mio... yo lo que haría sería unos cuantos sprites cada vez más hecho polvo de sangre y tal.. y poner algo como if vida < 70 tal sprite if vida <50 otro sprite y así hasta ke te venga en gana xd
en http://krstudyos.blogspot.com solo hay basura... mejor que ni entres...

Cita de: SobacoEnLlamas en Agosto 18, 2012, 06:20:40 PM
no me he parado a leer las respuestas xd así que aunque lo hayan dicho (no lo sé) digo lo mio... yo lo que haría sería unos cuantos sprites cada vez más hecho polvo de sangre y tal.. y poner algo como if vida < 70 tal sprite if vida <50 otro sprite y así hasta ke te venga en gana xd

Ya di esa idea yo y se vio que es muy tedioso hacerlo, Texic lo estaba ayudando con un metodo mejor.
Me parece que tu forma de responder no es de lo mejor, si te vas a interesar en el tema, lo mejor seria que respetes a los que contestamos antes, y leas las respuestas.

Saludos!

no es mi obligación leerlo todo y pongo mi grano de arena aunque sea repetido por mi propia voluntad, cualquier problema, MP

Saludos!
en http://krstudyos.blogspot.com solo hay basura... mejor que ni entres...