Mi duda es la siguiente: utilizo mucho en mi juego el instance_activate_all y el instance_deactivate_all... Lo que quiero conseguir es que cuando desactivo todas las instancias no se desaparezcan de la pantalla, sino que solamente se detengan. Espero hacerme explicado.
Podrias crear una funcion nueva porq con instance_deactivate no lo vas a lograr. De hecho, ahora te hago una, la idea es crear un objeto que indexe el objeto anterior y su sprite. Realizamos el evento draw del objeto indexado y woal?, luego con una funcion que active instancias destruyes el objeto y listo
Esperame q hago un ejemplo y te lo paso
Listo, va el ejemplo (un poco rustico por tener q tener el objeto ese creado, pero si lo creaba desde el script com?a memoria en vano porq se creaba cada vez q se usara el script)
Lo probar?. Espero funcione. EDIT: Texic creo que no funciona, s? se desactiva pero no s? como volver a activarlo. Adem?s creo que me d? problemas con las particular. Por favor revisa tu ejemplo y dime como solucionarlo.
Para activarlo te dej? otra funci?n, pero obviamente la tienes que usar desde un objeto indesactivable, agregarlo como excepcion en un if a la funcion deactivate. Sobre las part?culas, me temo que no puedo hacer nada, lo que puedes hacer para remediar eso es, o sacar un screenshot y mostrarlo al desactivar las instancias, o crear una instancia que no desactive todo, pero limpie la io del mouse y el teclado para q no genere eventos en otros objetos excepto ese. No s? a qu? quieres llegar exactamente con esto, si me lo dices quiz?s podr?a darte una soluci?n m?s eficaz
Es sencillo: cuando el jugador colisiona contra cierto objeto invisible o alg?n personaje, este crea un objeto "texto" el cual genera el di?logo. Si no escribo nada para desactivar los objetos, los zombies har?n pedazos al jugador, pero si uso el "instance_activate_all() todo se vuelve invisible, cosa que obviamente no quiero... La soluci?n: una forma de desactivar las instancias sin borrar su sprite. ojal? me puedas ayudar para por fin sacar la primera beta en la que t? apareces en los cr?ditos desde hace un tiempo n.n
Bueno, lo de desactivar sin borrar la sprite lo hice, pero el problema ser?an las part?culas
Qu? tal lo de sacar una screen a la pantalla antes de desactivar todo?? Luego mientras el texto se dibuje muestras la screen
El ?nico problema es q al reactivar todo, las part?culas se recrean en vez de quedarse en el estado que estaban, pero puede q no te moleste, qui?n sabe.
Te dejo ejemplo
PD: No te fijes en el nombre, fue al azar XD
Ok ya lo reviso... Con respecto a las part?culas: revisando un poco me d? cuenta de que no s?lo afecta las part?culas sino todas las variables... Pero probar? esto a ver que tal... EDITO como hago para hacer la ecepci?n que dices?
Un simple if en la funcion deactivate, para que funcionara por ejemplo el cl?sico notme (desactiva todas las instancias excepto la q llam? la funci?n) ser?a as?
[gml]with (all)
{
if id<>other.id{
a=instance_create(x,y,deac)
a.sprite_index=sprite_index
a.image_index=image_index
a.index=object_index
instance_deactivate_object(id)
}}[/gml]
Ahora si hablabas del ?ltimo ejemplo, basta con un instance_activate(id) debajo del instance_deactivate_all()
Nada funciona T.T pero voy a intentar por otros medios, por ejemplo una variable que impida que los zombies camines etc... Pero gracias por ayudar. EDITO: Fu? m?s f?cil de lo que cre? xD ya est? solucionado.
Cita de: Masterkey en Enero 26, 2011, 11:19:27 PM
Nada funciona T.T pero voy a intentar por otros medios, por ejemplo una variable que impida que los zombies camines etc... Pero gracias por ayudar. EDITO: Fu? m?s f?cil de lo que cre? xD ya est? solucionado.
?Al final c?mo resolviste el problema compa?ero? Tengo un plataformas semejante, en el que el personaje principal se encuentra con personajes secundarios que le hablan, y quiero que, por lo menos el protagonista, no pueda moverse cuando le hablan.
Lo hice de una manera sencilla, te la explico:
creas una variable global.pausa, luego al presionar el bot?n de pausa establecemos la variable global.pausa=1; y por ?ltimo antes de las acciones de movimiento se usa el if pausa=0{acciones}
Cita de: Masterkey en Mayo 18, 2011, 02:28:57 AM
Lo hice de una manera sencilla, te la explico:
creas una variable global.pausa, luego al presionar el bot?n de pausa establecemos la variable global.pausa=1; y por ?ltimo antes de las acciones de movimiento se usa el if pausa=0{acciones}
Ok, gracias. Ya me imaginaba que podr?a hacerse as? tambi?n.
?Gracias otra vez compa?ero!
De nada ^^
Que coincidencia tambien tenia ese problema.
Muchas gracias por publicar tu solucion
Eso me gusta!! De una pregunta se ayudan varios ^^ se ahorra trabajo n_n