Revisado, hay que presionar para abajo para activarlo. Ahora tengo que ver como adaptarlo para lo que lo necesito. Gracias nuevamente!
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.
1
Preguntas y respuestas / Re: Controlar MUCHOS botones que abren diferentes grupos de compuertas 2
Febrero 16, 2011, 04:43:21 AMRevisado, hay que presionar para abajo para activarlo. Ahora tengo que ver como adaptarlo para lo que lo necesito. Gracias nuevamente!
2
Preguntas y respuestas / Re: Controlar MUCHOS botones que abren diferentes grupos de compuertas 2
Febrero 16, 2011, 02:58:35 AMCitarAh y otra cosa, esto "i<=aL-1" deber?as redondearlo a esto "i<aL". Hacerlo as? es como una especie de est?ndar.
Lo hice asi para que cuando llame a la funcion pueda poner la cantidad de plataformas directamente sin tener que restar. Por si me olvido, asi era mas directo.
3dgeminis, muchas gracias por el ejemplo, ahora lo voy a analizar bien.
Saludos, gracias a todos
3
Preguntas y respuestas / Re: Controlar MUCHOS botones que abren diferentes grupos de compuertas 2
Febrero 14, 2011, 05:43:46 PM
Wadk, ya me habia armado una funcion similar a esa pero que se adapta mejor a mis necesidades, gracias de todos modos.
Hela aqu? :
[gml]a[0] = argument0;
a[1] = argument1;
aL = argument2;
horizontal = argument3;
if place_meeting(x,y,obj_pl1) or place_meeting(x,y,obj_box1) {
for (i=0;i<=aL-1;i+=1) {
if !horizontal {
if instance_position(a[0]+32*i, a[1], obj_wall1_h) {
position_change(a[0]+32*i, a[1], obj_nw1_h, true);
}
} else {
if instance_position(a[0], a[1]+32*i, obj_wall1_v) {
position_change(a[0], a[1]+32*i, obj_nw1_v, true);
}
}
}
} else {
for (i=0;i<=aL-1;i+=1) {
if !horizontal {
if instance_position(a[0]+32*i, a[1], obj_nw1_h) {
position_change(a[0]+32*i, a[1], obj_wall1_h, true);
}
} else {
if instance_position(a[0], a[1]+32*i, obj_nw1_v) {
position_change(a[0], a[1]+32*i, obj_wall1_v, true);
}
}
}
}[/gml]
Por otro lado, si, creo que eso de los parents es algo que necesito aprender, no lo habia tenido en cuenta.
Por ultimo, lo del Create Code del room, tampoco lo conocia, soy nuevo en GM, no asi en programacion, y estaba buscando exactamente algo como eso! Muchas gracias DarkKRuleR
Hela aqu? :
[gml]a[0] = argument0;
a[1] = argument1;
aL = argument2;
horizontal = argument3;
if place_meeting(x,y,obj_pl1) or place_meeting(x,y,obj_box1) {
for (i=0;i<=aL-1;i+=1) {
if !horizontal {
if instance_position(a[0]+32*i, a[1], obj_wall1_h) {
position_change(a[0]+32*i, a[1], obj_nw1_h, true);
}
} else {
if instance_position(a[0], a[1]+32*i, obj_wall1_v) {
position_change(a[0], a[1]+32*i, obj_nw1_v, true);
}
}
}
} else {
for (i=0;i<=aL-1;i+=1) {
if !horizontal {
if instance_position(a[0]+32*i, a[1], obj_nw1_h) {
position_change(a[0]+32*i, a[1], obj_wall1_h, true);
}
} else {
if instance_position(a[0], a[1]+32*i, obj_nw1_v) {
position_change(a[0], a[1]+32*i, obj_wall1_v, true);
}
}
}
}[/gml]
Por otro lado, si, creo que eso de los parents es algo que necesito aprender, no lo habia tenido en cuenta.
Por ultimo, lo del Create Code del room, tampoco lo conocia, soy nuevo en GM, no asi en programacion, y estaba buscando exactamente algo como eso! Muchas gracias DarkKRuleR
4
Preguntas y respuestas / Controlar MUCHOS botones que abren diferentes grupos de compuertas 2
Febrero 11, 2011, 07:14:44 PM
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
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
5
Preguntas y respuestas / Controlar MUCHOS botones que abren diferentes grupos de compuertas
Febrero 10, 2011, 10:42:57 PM
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}
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}