Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - Domenec

76
Quiero hacer una room a modo de inventario.
Estoy teniendo mucho problemas a la hora de parar todas las instancias para que el juego quede como en pausa mientras uso el menu del inventario.
He visto varios metodos para ello:
Guardar la partida, desactivar todas las instancias con instance_deactivate_all() y para regresar, volver a cargar la partida. Lo que pasa es que de este modo, cualquier cambio que realize en el inventario se pierde, logicamente, al volver a cargar la partida.
La verdad es que voy muy perdido.
Agradezco cualquier idea o consejo. Estoy, ahora mismo, en un punto muerto. Me temo que no he estructurado bien mi proyecto y despues de 3 meses de darle casi cada dia, me estoy acojonando  :-[
77
Quiero poner un nombre a una Room y no usar el numero que se asigna automaticamente.
Le he editado el nombre en la pantalla donde creas la room pero al llamarla con room_goto("menu") no funciona y me toma el valor 0 ya que supongo que interpreta la palabra menu como una variable.
Se puede hacer? Si es asi ¿Como seria la sentencia room_goto?

Gracias

Edito: algo hacia mal, ya parece que funciona.
78
Cita de: romon_28 en Abril 30, 2013, 04:43:51 PM
tenes 2 opciones
1) Descargar un dll que maneje "pad"
2) Hacer el "pause" de otro modo.

1) La dll ya la tenia.  :)
2) Al final la he hecho de otra forma.  :D

Gracias por responder.
79
Buenas a todos...
He encontrado varios ejemplos de como crear una pausa, pero todos usando el teclado.
He conseguido activar la pausa con el boton start del pad y la letra P del teclado, pero cuando quiero continuar el juego, solo lo consigo mediante teclado porque no encuentro un equivalente para el pad a esto: keyboard_wait().
¿Alguien sabe como hacerlo?

Gracias de antemano.  :)
80
Pues en vez de 0 por el numero de instancias restando las que tengas ya precreadas.
81
Prueba con
If instance_number(nombre objeto)=0 y pones las acciones a realizar.
Se usa para saber cuantas instancias quedan en la room.
82
Puedes hacer esto:
if keyboard_check(vk_up) and  (keyboard_check(vk_right)=false or keyboard_check(vk_left)=false) {y-=4}

Despues en el movimiento diagonal...

if keyboard_check(vk_up) and  (keyboard_check(vk_right) {x+=4 y-=4}
if keyboard_check(vk_up) and  (keyboard_check(vk_left) {x-=4 y-=4}


...y asi para el resto de direcciones
83
Cita de: penumbra en Abril 11, 2013, 08:19:00 AM
Pues es que tienes que hacer el trabajo sucio a fuerzas.  Dudo que haya una forma automática (palomear casillas) de guardar los bloques que quedan sin destruir. Si quieres que GM "recuerde" algo, tienes que guardarlo o en un ini, txt, arreglo, lista, etc.

Me imagino que el número de bloques horizontal y vertical "calza" con el tamaño de tu pantalla. Imagina tu room llenp de bloques, ese "mapa" se puede trasladar a un arreglo.

Digamos que horizontalmente (FILAS) caben exactamente diez bloques en la pantalla, y que verticalmente (COLUMNAS), caben 7. Pues Haces un arreglo, de 10 X 7, cada celda del arreglo puede tener un 0 o 1. Si tiene cero, esa posición en pantalla está vacía, si tiene 1, hay un bloque en esa posición.

Es una opcion interesante pero no tengo ni idea de como afrontarlo. Creo que acabare por asignar variables independientes para cada bloque y adaptando el concepto de diseño para tal fin.  :-[
84
Nada,  no funcionó.   :(
85
Cita de: Klind en Abril 10, 2013, 07:52:56 PM
Qué tal hermano,

intenta poniendo todos los bloques sin el persistent, y en la parte del código del Bloque donde le indicas que se destruya con la bomba, le pones persistent = true.

No estoy muy seguro si funciona pero intenta y me avisas.

Es decir,  que justo antes de destruir la instància,  convertirla en persistente... Ummmm.. La verdad es que parece una buena idea...
Luego pruebo y te cuento.  :)
86
¿Nadie se anima a darme una solución?   :)
87
Cita de: Reibax en Abril 09, 2013, 07:29:48 PM
Pues ya no tengo ni idea. Yo sabía que marcando esa casilla no se repetían las instancias en la room. Lamento no poder serte de más ayuda.

No, si la verdad es que me ha ido fenomenal que me "descubrieras" esa casilla. Lo que pasa es que como dices, esa cion afecta a todas las instancias de la room. Eso hace que el tema que comento de los bloques funcione a la perfeccion, pero a costa de "estropear" el resto de instancias.
Lo ideal seria poder discriminar a que instancias afecta que una room sea persistent o no.
Si marco la casilla persistent de los bloques, estos se repiten en todas las rooms con lo que tampoco me sirven...
88
Lo de marcar la casilla de persistent en las opciones de la room funciono. El problema es que esto afecta a todas las instancias de la room y ahora solo suceden algunas instancias una sola vez o bien se quedan donde estaban hasta que no vuelves a entrar.
¿Existe alguna manera de discriminar o de especificar las intancias que quieres que sean persiestentes?
89
Cita de: Reibax en Abril 09, 2013, 04:05:40 PM
Hola,

¿No es suficiente con marcar la casilla persistent dentro del menu de la room correspondiente?

Un saludo.

No entiendo. La opcion persistent es precisamente para que se mantenga en todas las rooms, no?
Yo lo que quiero es que una vez destruido el bloque, este no vuelva a aparecer.
De todas maneras, desconozco esa casilla dentro del menu room...voy a ver...
90
Buenas a todos.
Depues de unos dias sin tener problemas significativos me he topado con algo que soluciono pero de una forma que no creo que sea la mejor. Me explico:
Imaginaos una room con varios bloques que se pueden romper usando una bomba. Rompemos uno dejando los otros y salimos de la room para volver a entrar. En ese momento, los bloques vuelven a estar todos ahi.
Mi solucion es asignar una variable distinta para cada uno y comprobar al entrar en la room si ese bloque esta destruido o no. Ese metodo funciona, pero como comprendereis, si hago muchos bloques, he de crear sus respectivas variables.
Imagino que hay otra manera mas simple de hacerlo y por eso he creado este post.  :)