Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: kaliman777 en Enero 30, 2015, 10:47:21 PM

Título: Por favor, revísenme si este código está correcto
Publicado por: kaliman777 en Enero 30, 2015, 10:47:21 PM
Hola a tod@s:
Con el siguiente código lo que busco es sólo uno de los 15 escenarios se cumpla. Según el escenario que el juego elija al azar, se dibujarán 15 objetos de acuerdo a la variable elegida:
carton2_1=  instance_create(238,158,O_001) instance_create(238,219,O_002) instance_create(403,158,O_2)
            instance_create(568,158,O_3)instance_create(733,158,O_4)
            instance_create(898,158,O_5) instance_create(238,280,O_6)  instance_create(403,280,O_7)
            instance_create(568,280,O_8) instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_2=  instance_create(403,158,O_001) instance_create(403,219,O_002)  instance_create(238,158,O_1) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5) instance_create(238,280,O_6)  instance_create(403,280,O_7)
            instance_create(568,280,O_8) instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_3=  instance_create(568,158,O_001) instance_create(568,219,O_002)  instance_create(238,158,O_1) instance_create(403,158,O_2)
            instance_create(733,158,O_4) instance_create(898,158,O_5) instance_create(238,280,O_6)  instance_create(403,280,O_7)
            instance_create(568,280,O_8) instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_4=  instance_create(733,158,O_001) instance_create(733,219,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2)
            instance_create(568,158,O_3) instance_create(898,158,O_5)
            instance_create(238,280,O_6)  instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_5=  instance_create(898,158,O_001) instance_create(898,219,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4)
            instance_create(238,280,O_6)  instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_6=  instance_create(238,280,O_001) instance_create(238,341,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_7=  instance_create(403,280,O_001) instance_create(403,341,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(238,280,O_6) instance_create(568,280,O_8)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_8=  instance_create(568,280,O_001) instance_create(568,341,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(238,280,O_6)  instance_create(403,280,O_7)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_9=  instance_create(733,280,O_001) instance_create(733,341,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(238,280,O_6)  instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_10= instance_create(898,280,O_001) instance_create(898,341,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(238,280,O_6)  instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(733,280,O_9)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_11= instance_create(238,402,O_001) instance_create(238,463,O_002)
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(238,280,O_6)  instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_12= instance_create(403,402,O_001) instance_create(403,463,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(238,280,O_6)  instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(568,402,O_13)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_13= instance_create(568,402,O_001) instance_create(568,463,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(238,280,O_6)  instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)
            instance_create(733,402,O_14)instance_create(898,402,O_15)

carton2_14= instance_create(733,402,O_001) instance_create(733,463,O_002) 
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(238,280,O_6)  instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(898,402,O_15)

carton2_15= instance_create(898,402,O_001) instance_create(898,463,O_002)
            instance_create(238,158,O_1) instance_create(403,158,O_2) instance_create(568,158,O_3)
            instance_create(733,158,O_4) instance_create(898,158,O_5)
            instance_create(238,280,O_6)  instance_create(403,280,O_7) instance_create(568,280,O_8)
            instance_create(733,280,O_9) instance_create(898,280,O_10)
            instance_create(238,402,O_11) instance_create(403,402,O_12)instance_create(568,402,O_13)
            instance_create(733,402,O_14)
           
instance_create(238,158,choose(carton2_1,carton2_2,carton2_3,carton2_4,carton2_5,carton2_6,carton2_7,carton2_8,
carton2_9,carton2_10,carton2_11,carton2_12,carton2_13,carton2_14,carton2_15));


Por favor, revísenme por qué me tira un error que dice "tratando de dibujar un objeto que no existe 0" cualquier sugerencia para mejorarlo, será bienvenida

Gracias
Título: Re:Por favor, revísenme si este código está correcto
Publicado por: omick en Enero 30, 2015, 11:09:03 PM
hola ..   esque hasta abajo de tu codigo en esto

instance_create(238,158,choose(carton2_1,carton2_2,carton2_3,carton2_4,carton2_5,carton2_6,carton2_7,carton2_8,
carton2_9,carton2_10,carton2_11,carton2_12,carton2_13,carton2_14,carton2_15));


es que pones crear algo que no es instancia si no mas bien es una variable que guarda el valor de crear muchas instancias
por tanto carton2_1 por ej. no tiene el valor de un id.  eso creo jeje
te recomiendo que pongas mejor una variable como: 

randomize()
global.carton=choose(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) // esta

y luego

switch (global.carton){

case 1 : instance_create(238,158,O_001); instance_create(238,219,O_002); instance_create(403,158,O_2);   
            instance_create(568,158,O_3);instance_create(733,158,O_4); instance_create(898,158,O_5) ;
            instance_create(238,280,O_6 ; instance_create(403,280,O_7); instance_create(568,280,O_8);
            instance_create(733,280,O_9); instance_create(898,280,O_10); instance_create(238,402,O_11);
            instance_create(403,402,O_12)instance_create(568,402,O_13); instance_create(733,402,O_14);
            instance_create(898,402,O_15);

}
///  etc...

a ver si te funciona
Título: Re:Por favor, revísenme si este código está correcto
Publicado por: penumbra en Enero 30, 2015, 11:11:30 PM
Una variable sólo puede contener un valor/dato. Para guardar muchos valores distintos, se debería usar una estructura como arreglos o listas o mapas, etc.

Yo usaría ciclos para no escribir 15 veces instance_create, pero la opción que dio omick es válida.
Título: Re:Por favor, revísenme si este código está correcto
Publicado por: kaliman777 en Enero 30, 2015, 11:17:01 PM
Gracias, amigos!!

Estoy aplicando el código de Omick y si tengo alguna duda, se la suelto, más tarde.

Saludos.