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 - pacne

31
Preguntas y respuestas / Comprimir este codigo?
Mayo 28, 2015, 11:10:05 PM
buenas, me gustaria saber como podria comprimir este codigo, con switch? o hay otra forma diferente

if room_existente = (rm_nivel_1)
    {
    if (obj_cuadrado_1.meta = 1) and (obj_cuadrado_2.meta = 1)
        {
        movimientos = movimientos_0 - movimientos_1;
        ini_open("archivo.ini");
        movimientos = ini_write_real("nivel","movimientos",0);
        ini_close();
        instance_create(view_xview[0] + 0, view_yview[0] + 0, obj_modulo_you_win);
        }
despues continuar todos los otros niveles de la misma forma
    }


Muchas Gracias

He cambiado, jajaja, hay alguna manera de leer las variables que creas en creation code de la room, con global.variable si que lee, pero sino son globales hay alguna forma???

Gracias
32
ahora si, ademas me has hecho pensar en cambiar otras cosas utilizando el metodo de creation code.
MUCHAS GRACIAS
33
voy totalmente perdido, me explico, yo tengo 6 instancias(boton) de un objeto en la room, que cada boton lleva a una room, todo eso me funciona bien, tengo otro objeto que controla todas las cosas del menu, en este objeto dibujo el numero de cada boton, para que cada boton tenga su numero. Cuando aprieto cualquier boton cambia el sprite a transparente, y quiero que cambie tambien el numero de ese boton a transparente, habia creado una variable para cada instancia, como en el codigo que puse arriba. pero solo afecta al boton numero 1, y al l 2 el 3,..... no van. no se si me explico bien. Gracias
34
Para que funcionen las cosas en el creation code de la instancia??  me explico, en cada boton tengo dibujado un numero mediante draw en otro objeto(obj_menu)  y cuando presiona el objeto le envia una variable a ese objeto para que lo dibuje en alpha 0.4, como puedo hacer en creation code todo esto?
Gracias
35
Gracias ya se por donde tirar, voy a probar
Muchas Gracias
36
este es mi codigo que pongo en cada instancia


if collision_point(mouse_x, mouse_y, obj_boton_niveles, 1, 0) = id and device_mouse_check_button(0, mb_left)
    {
    if stars = 0
        {
        image_index = 2;
        }
    if stars = 1
        {
        image_index = 4;
        }
    if stars = 2
        {
        image_index = 6;
        }
    if stars = 3
        {
        image_index = 8;
        }
    }
if collision_point(mouse_x, mouse_y, obj_boton_niveles, 1, 0) = id and device_mouse_check_button_released(0, mb_left)
    {
    if stars = 0
        {
        image_index = 1;
        }       
    if stars = 1
        {
        image_index = 3;
        }
    if stars = 2
        {
        image_index = 5;
        }
    if stars = 3
        {
        image_index = 7;
        }
    accion = 1;
    }
if !collision_point(mouse_x, mouse_y, obj_boton_niveles, 1, 0)
    {
    if stars = 0
        {
        image_index = 1;
        }
    if stars = 1
        {
        image_index = 3;
        }
    if stars = 2
        {
        image_index = 5;
        }
    if stars = 3
        {
        image_index = 7;
        }
    }
   
// Accion
   
if accion = 1
    {
    accion = 0;
    room_goto(rm_nivel_1);
    }   


Lo del ciclo for como es??
Gracias
37
Gracias por contestar, he puesto el codigo en cada instancia de ese objeto en la room, en el codigo de cada instancias, pero no me funciona el boton.
Podria crear un objeto por boton, pero si tengo 100 niveles tengo que crear 100 objetos y no se si eso ocupara mucha memoria, no se que es mejor, crear un objeto con muchas instancias o un objeto por boton?????
38
Buenas!!, tengo un objeto(obj_boton) que tiene varias instancias en la room, es un boton para acceder a cada room de cada nivel, despues he creado para cada instancia una variable, esta variable va ha otro objeto que dibuja un numero, si se aprieta el boton el numero de que dibuja ese objeto tiene un aplha diferente. El problema lo tengo que en el boton nivel uno si que funciona, pero en el boton nivel 2 no y en el resto tampoco. En el evento del obj_boton step tengo esto:


// Boton Nivel 1

if id = inst_C50AC646
    {

    // Cambio de sprite   
   
    if collision_point(mouse_x, mouse_y, obj_boton_niveles, 1, 0) = id and device_mouse_check_button(0, mb_left)
        {
        if stars = 0
            {
            image_index = 2;
            }
        if stars = 1
            {
            image_index = 4;
            }
        if stars = 2
            {
            image_index = 6;
            }
        if stars = 3
            {
            image_index = 8;
            }

        nivel_1_inst_C50AC646 = 1;
        }
    if collision_point(mouse_x, mouse_y, obj_boton_niveles, 1, 0) = id and device_mouse_check_button_released(0, mb_left)
        {
        if stars = 0
            {
            image_index = 1;
            }       
        if stars = 1
            {
            image_index = 3;
            }
        if stars = 2
            {
            image_index = 5;
            }
        if stars = 3
            {
            image_index = 7;
            }

        nivel_1_inst_C50AC646 = 0;
        accion = 1;
        }
    if !collision_point(mouse_x, mouse_y, obj_boton_niveles, 1, 0)
        {
        if stars = 0
            {
            image_index = 1;
            }
        if stars = 1
            {
            image_index = 3;
            }
        if stars = 2
            {
            image_index = 5;
            }
        if stars = 3
            {
            image_index = 7;
            }

        nivel_1_inst_C50AC646 = 0;
        }
   
    // Accion
   
    if accion = 1
        {
        accion = 0;
        room_goto(rm_nivel_1);
        }
    }
   
// Boton Nivel 2

if id = inst_E291164E
    {

    // Cambio de sprite   
   
    if collision_point(mouse_x, mouse_y, obj_boton_niveles, 1, 0) = id and device_mouse_check_button(0, mb_left)
        {
        if stars = 0
            {
            image_index = 2;
            }
        if stars = 1
            {
            image_index = 4;
            }
        if stars = 2
            {
            image_index = 6;
            }
        if stars = 3
            {
            image_index = 8;
            }

        nivel_2_inst_E291164E = 1;
        }
    if collision_point(mouse_x, mouse_y, obj_boton_niveles, 1, 0) = id and device_mouse_check_button_released(0, mb_left)
        {
        if stars = 0
            {
            image_index = 1;
            }       
        if stars = 1
            {
            image_index = 3;
            }
        if stars = 2
            {
            image_index = 5;
            }
        if stars = 3
            {
            image_index = 7;
            }

        nivel_2_inst_E291164E = 0;
        accion = 1;
        }
    if !collision_point(mouse_x, mouse_y, obj_boton_niveles, 1, 0)
        {
        if stars = 0
            {
            image_index = 1;
            }
        if stars = 1
            {
            image_index = 3;
            }
        if stars = 2
            {
            image_index = 5;
            }
        if stars = 3
            {
            image_index = 7;
            }

        nivel_2_inst_E291164E = 0;
        }
   
    // Accion
   
    if accion = 1
        {
        accion = 0;
        room_goto(rm_nivel_2);
        }
    }       


y en objeto que dibuja los numeros esto:


if global.room_existente = (rm_menu_0)
    {
    // Numero Normal
   
    if obj_boton_niveles.nivel_1_inst_C50AC646 = 0
        {
        posicion_x = floor(view_wview[0] / 2 - 324);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 72, "1");
        }
    if obj_boton_niveles.nivel_2_inst_E291164E = 0
        {
        posicion_x = floor(view_wview[0] / 2 + 60);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 72, "2");
        }
    if obj_boton_niveles.nivel_3_inst_BD48D8C3 = 0
        {
        posicion_x = floor(view_wview[0] / 2 - 324);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 192, "3");
        }
    if obj_boton_niveles.nivel_4_inst_D80DF68B = 0
        {
        posicion_x = floor(view_wview[0] / 2 + 60);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 192, "4");
        }
    if obj_boton_niveles.nivel_5_inst_B8420442 = 0
        {
        posicion_x = floor(view_wview[0] / 2 - 324);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 312, "5");
        }
    if obj_boton_niveles.nivel_6_inst_6D286C12 = 0
        {
        posicion_x = floor(view_wview[0] / 2 + 60);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 312, "6");
        }

    // Numero Pulsado
   
    draw_set_alpha(0.4);
   
    if obj_boton_niveles.nivel_1_inst_C50AC646 = 1
        {
        posicion_x = floor(view_wview[0] / 2 - 324);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 72, "1");
        }
    if obj_boton_niveles.nivel_2_inst_E291164E = 1
        {
        posicion_x = floor(view_wview[0] / 2 + 60);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 72, "2");
        }
    if obj_boton_niveles.nivel_3_inst_BD48D8C3 = 1
        {
        posicion_x = floor(view_wview[0] / 2 - 324);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 192, "3");
        }
    if obj_boton_niveles.nivel_4_inst_D80DF68B = 1
        {
        posicion_x = floor(view_wview[0] / 2 + 60);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 192, "4");
        }
    if obj_boton_niveles.nivel_5_inst_B8420442 = 0
        {
        posicion_x = floor(view_wview[0] / 2 - 324);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 312, "5");
        }
    if obj_boton_niveles.nivel_6_inst_6D286C12 = 1
        {
        posicion_x = floor(view_wview[0] / 2 + 60);
        draw_text(view_xview[0] + posicion_x, view_yview[0] + 312, "6");
        }
   
    draw_set_alpha(1);
    }



Hay otra forma de comprimir esto de las instancias o hay que hacerlo todo asi. Muchas Gracias
39
Preguntas y respuestas / Re:Duda con gml
Mayo 24, 2015, 02:15:30 AM
La solucion es poner el objeto de colision en solido, jajajajaja.  al utilizar place_free. Cosa que yo no tenia. A veces te pones a dar vueltas y vueltas y despues es una tonteria. Gracias 3d gemenis y a los demas por el interes
Muchas Gracias
40
Preguntas y respuestas / Re:Duda con gml
Mayo 24, 2015, 01:10:20 AM
el objeto cuando colisiona no se puede moverse y tampoco el contador de movimeintos deberia restar movimientos.
Muchas Gracias
41
Preguntas y respuestas / Re:Duda con gml
Mayo 23, 2015, 03:09:25 AM
Siento si no me expresado bien, lo que quiere es que cuando colisione no cuente movimientos, y no se como ponerlo
Muchas Gracias
42
Preguntas y respuestas / Re:Duda con gml
Mayo 22, 2015, 05:59:45 PM
Lo que me gustaria saber la expresion que si esta colisionando el contador no reste, es que he cambiado el codigo:

// Movimientos Cuadrado

if !keyboard_check(vk_down) and !keyboard_check(vk_up) and keyboard_check_pressed(vk_right) and place_free(x + 1, y) 
    {
    x += 24;
    global.score_move -= 1;
    }

if !keyboard_check(vk_down) and !keyboard_check(vk_up) and keyboard_check_pressed(vk_left) and place_free(x - 1, y)
    {
    x -= 24;
    global.score_move -= 1;
    }

if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_down) and place_free(x, y + 1)
    {
    y +=24;
    global.score_move -= 1;
    }
   
if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_up) and place_free(x, y - 1)
    {
    y -= 24
    global.score_move -= 1;
    }
 
// Colision ob_bloque

if place_meeting(x, y, obj_bloque)
{
     x = xprevious;
     y = yprevious;
}

Muchas Gracias
43
Preguntas y respuestas / Duda con gml
Mayo 22, 2015, 12:28:02 PM
buenas estoy creando un contador de movimiento, y este es mi codigo:
// Movimientos Cuadrado

if !keyboard_check(vk_up) and !keyboard_check(vk_down) and keyboard_check_pressed(vk_right) and place_free(x + 1, y) 
    {
    x += 24;
    movimiento = 1
    }

if !keyboard_check(vk_up) and !keyboard_check(vk_down) and keyboard_check_pressed(vk_left) and place_free(x - 1, y)
    {
    x -= 24;
    movimiento = 1
    }

if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_down) and place_free(x, y + 1)
    {
    y +=24;
    movimiento = 1
    }
   
if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_up) and place_free(x, y - 1)
    {
    y -= 24
    movimiento = 1
    }
 
// Colision ob_bloque

if place_meeting(x, y, obj_bloque)
{
     x = xprevious;
     y = yprevious;
}

.
Lo que quiero esq cuando no haya movimiento la variable movimiento sea igual a 0. Todo esto esta montado en Step
Muchas Gracias
44
A nadie le ha pasado esto?es q no entiendo porq pasa.
45
Nadie sabe sobre porq me puede pasar esto??
Gracias