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.

Temas - tigladd

1
Estoy armando un juego en el cual los puzzles son en base a botones, puertas y cajas. El problema es que tengo muchos botones, y cada boton tendria que abrir varias puertas para que caigan las cajas. Mi idea era ponerle al boton el nombre btn_1 y que ese controle todas las compuertas compuerta_1, el btn_2, controla las compuerta_2, y asi sucesivamente. Es una solucion factible? Hay algo mejor al momento de hacer cosas asi? Porque sino, necesitaria muchisimas carpetas para mantener organizado el proyecto. Esto no es util, ya que tengo que hacer que el personaje y las cajas colisionen con cada compuerta distinta y hace al codigo muy engorroso y no permite modificarlo facilmente.

Este es un ejemplo de lo que necesito. Cada boton tiene que controlar a las plataformas indicadas (para que caigan las cajas):



Se me ocurrio una solucion temporal. Cada boton tiene en su evento Step el siguiente codigo:

[gml]a[0,0] = 3904; // X de la primer plataforma
a[0,1] = 960; // Y de la primer plataforma

a[1,0] = 3936; // X de la segunda
a[1,1] = 960; // Y de la segunda

a[2,0] = 3968; // X de la tercera
a[2,1] = 960; // Y de la tercera

aL = 3; // Cantidad de plataformas (No se como obtener el length del array)

if place_meeting(x,y,obj_pl1) or place_meeting(x,y,obj_box1) {
    for (i=0;i<=aL-1;i+=1) {
        if instance_position(a[i,0],a[i,1],obj_wall1) {
            position_change(a[i,0], a[i,1], obj_nw1,true);
        }
    }
} else {
    for (i=0;i<=aL-1;i+=1) {
        if instance_position(a[i,0],a[i,1],obj_nw1) {
            position_change(a[i,0], a[i,1], obj_wall1,true);
        }
    }
}[/gml]

Donde obj_wall1 son las plataformas y obj_nw es la plataforma "transparente". Arriba de todo estan declaradas las posiciones de las plataformas.
Funcionar, funciona. Pero no puedo reutilizar los botones en otro nivel, sino que tengo que seguir creando nuevos, ya que con ese codigo paso el valor X e Y. Si pudiera hacerlo con los ID's de las instancias CREO que funcionaria mejor.... CREO...
Ademas, me parece que estar haciendo esas comprobaciones todo el tiempo cargan bastante al juego, no se que piensan ustedes. Hablo desde mi conocimiento en base a lo que aprend? de forma independiende.

Saludos, y gracias de antemano
2
Hola a todos. Este es mi primer mensaje en este foro despues de haberlo estado recorriendo bastante. Espero encontrar una solucion mas simple a mi problema, porque creo que la forma que se me ocurre de hacerlo es muy tosca.

Estoy armando un juego en el cual los puzzles son en base a botones, puertas y cajas. El problema es que tengo muchos botones, y cada boton tendria que abrir varias puertas para que caigan las cajas. Mi idea era ponerle al boton el nombre btn_1 y que ese controle todas las compuertas compuerta_1, el btn_2, controla las compuerta_2, y asi sucesivamente. Es una solucion factible? Hay algo mejor al momento de hacer cosas asi? Porque sino, necesitaria muchisimas carpetas para mantener organizado el proyecto.

Saludos, y gracias de antemano

PD: Como hago para saber la cantidad de objetos con un mismo nombre en mi nivel? Para poder hacer lo explicado anteriormente con un for (i=0,i<cantidad.de.instancias), i++ {borrar la instancia}