Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DarkKRuleR en Enero 19, 2016, 09:05:07 PM

Título: [ Resuelto ] Conectar bloques de código
Publicado por: DarkKRuleR en Enero 19, 2016, 09:05:07 PM
Buenash! Pues yo tengo 6 bloques, cada uno con mucho código, pero tienen que ser bloques separados. Hay alguna forma de poner al inicio del primer bloque un:

if ( a ) {

y al final del último:

}

Es decir, que el código de los 6 bloques se cuenten como todo un conjunto encerrado dentro del if, pero MANTENIÉNDOLOS separados en los 6 bloques? Sé que podría juntar el código en un sólo bloque, pero quedaría fatal en cuanto a organizarme
Título: Re:Conectar bloques de código
Publicado por: bygdle en Enero 19, 2016, 09:12:25 PM
No acabo de entenderte del todo :-[
Pero según lo que entiendo, lo puedes hacer algo así:
[gml]
if (a) {

if (b) {
//blablabla
}
if (c) {
//blablabla
}

}
[/gml]

Eso hará que las condiciones if (b) & if (c) se ejecuten sólo if (a)...Supongo que es eso lo que preguntas ¿no? xD
Título: Re:Conectar bloques de código
Publicado por: DarkKRuleR en Enero 19, 2016, 09:18:05 PM
Sep, pero la condición de b está en un BLOQUE únicamente (un bloque de drag&drop), la de c en otro bloque separados, y quiero hacer la condición de a que agrupe ambos bloques. En total 4 bloques:

el primer bloque es el "if ( a ) {"
el segundo el "if ( b )"
el tercer el "if ( c )"
el cuarto el "}"

El "if" del primer bloque conecta con la llave del cuarto, y agrupa a los dos bloques intermedios. Con un mismo bloque, todo el código junto como tú dices, ya lo tengo, pero quiero ver cómo hacerlo funcionar en 4 bloques separados. Es MUCHO código y lo tengo separado y ordenado en 6 bloques distintos, no quiero juntarlos o sería caótico

PD: Sé que podría copiar cada bloque en un script separado, y desde un mismo bloque hacer el if (a) y llamar a los 6 scripts, como última opción lo tengo, pero realmente quiero mantener los bloques en el objeto sin usar scripts

Adjunto una imagen de cómo podría funcionar, pero no sé si podemos hacer que el "if expression" sea otro pedazo de código, básicamente porque me di cuenta que no debo hacer un if, sino un FOR que dentro agrupe los 6 bloques
Título: Re:Conectar bloques de código
Publicado por: bygdle en Enero 19, 2016, 09:26:39 PM
Ah, ya entiendo.
Lo único que se me ocurre es que adjuntes los bloques de código bajo una condición Drag&Drop, algo así:

(https://i.gyazo.com/c5efbb2e87ee08bb3601deb445ccab65.png)

No es lo más óptimo, pues detesto usar esos cubitos DND, peru bueno, no se me ocurre nada más...

Ah, otra cosa, sería usar eventos definidos por el usuario, en uno metes tus 6 bloques, y digamos, en <step> pones
[gml]
if (a) {
event_user(1);
}
[/gml]
Título: Re:Conectar bloques de código
Publicado por: DarkKRuleR en Enero 19, 2016, 09:33:21 PM
Gracias!! event_user lo resolvió a la perfección, y sin usar los feos cubitos DND xD Es curioso, al llamar a event user dentro de un for, todo el código de ese evento tiene la variable iterativa del for. Definitivamente como si todo estuviera junto