Bueno tengo este codigo en mi GM...

{
    if global.direccion = 2
    {
        instance_create(x+30,y+5,kame_derecha);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku) sprite_index = goku_parado_derecha;
        global.direccion = 2;
    }
    if global.direccion = 1
    {
        instance_create(x,y-80,kame_arriba);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku) sprite_index = goku_parado_arriba;
        global.direccion = 1;
    }
    if global.direccion = 3
    {
        instance_create(x+20,y+120,kame_abajo);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku) sprite_index = goku_parado_abajo;
        global.direccion = 3;
    }
    if global.direccion = 4
    {
        instance_create(x-70,y,kame_izquierda);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku) sprite_index = goku_parado_izquierda;
        global.direccion = 4;
    }
    global.gokuu = 0;
}

Ya saben con leer el codigo de que se trata el juego... nose porque cuando se crea el objeto goku... siempre se crea mirando a la derecha ... y aunke yo tire el kame a la izquierda cuando termina de tirarlo se pone hacia la izquierda... y nose que hacer... trate de meter acciones en todos lados y nose que mas hacer...

Al que pueda ayudarme agradecido sea...

En que objeto ejecutas este codigo?

suponiendo que este codigo se ejecuta en el objeto goku: ?porque destrulles el objeto y lo vuelves a crear? y porque pones "with(goku)"?

Citarnose porque cuando se crea el objeto goku... siempre se crea mirando a la derecha ...
es porque el sprite inicial del objeto cuando se crea es el sprite mirando a la derecha, si destrulles y buelves a crear la instancia siempre se creara con ese sprite...

nose, no me queda claro que es lo que pasa y que es lo que deveria pasar

por las dudas proba con este codigo:

if global.direccion = 2
    {
        instance_create(x+30,y+5,kame_derecha);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku)
       {
        sprite_index = goku_parado_derecha;
        global.direccion = 2;
       }
    }
    if global.direccion = 1
    {
        instance_create(x,y-80,kame_arriba);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku)
       {
        sprite_index = goku_parado_arriba;
        global.direccion = 1;
       }
    }
    if global.direccion = 3
    {
        instance_create(x+20,y+120,kame_abajo);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku)       
       {
         sprite_index = goku_parado_abajo;
        global.direccion = 3;
       }
    }
    if global.direccion = 4
    {
        instance_create(x-70,y,kame_izquierda);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku)
       {
        sprite_index = goku_parado_izquierda;
        global.direccion = 4;
       }
    }
    global.gokuu = 0;


detodos modos no me parece lo mas adecuado destruir y crear al personaje principal pero eso ya depende de cada uno

Al pulsar Z se setea... segun el prite parado (izquierda, derecha, etc...) el objeto de tirando el kamehameha a la derecha izquierda o cualkiera que corresponda... para esto se destruye a "goku" y se crea a "goku_kamehameha"... en el evento create de este ultimo tengo esto...

{
    if global.direccion = 2 && global.gokuu = 1
    {
        sprite_index = goku_kamehame_derecha;
        image_speed = 0.2
    }
    if global.direccion = 1 && global.gokuu = 1
    {
        sprite_index = goku_kamehame_arriba;
        image_speed = 0.2;
    }
    if global.direccion = 3 && global.gokuu = 1
    {
        sprite_index = goku_kamehame_abajo;
        image_speed = 0.3;
    }
    if global.direccion = 4 && global.gokuu = 1
    {
        sprite_index = goku_kamehame_izquierda;
        image_speed = 0.2;
    }


Al tomar el sprite... en el evento animation end... tengo este...

{
    if global.direccion = 2
    {
        instance_create(x+30,y+5,kame_derecha);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku) sprite_index = goku_parado_derecha;
    }
    if global.direccion = 1
    {
        instance_create(x,y-80,kame_arriba);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku) sprite_index = goku_parado_arriba;
    }
    if global.direccion = 3
    {
        instance_create(x+20,y+120,kame_abajo);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku) sprite_index = goku_parado_abajo;
    }
    if global.direccion = 4
    {
        instance_create(x-70,y,kame_izquierda);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku) sprite_index = goku_parado_izquierda;
    }
    global.gokuu = 0;
}

Entonces... se crea el objeto de "goku" y se destruye el de "goku_kamehameha" pero siempre se crea mirando para la derecha...

la variable "global.gokuu" va a ser usada en el futuro... kisiera que no le presten atencion por ahora ^^

Si alguien sabe de mi problema le agradeceria...

Me fui a dormir... aca son las 12 ya xD


Bueno, aparentemente tu c?digo est? bien, pero tendr?a que analizar incluso los eventos de los objetos. ?Por qu?? Porque necesito saber cu?ndo es que la variable global.direccion cambia.

Por otro lado, te puedo dar tres consejos:

1: No utilices un sprite para la derecha y otro para la izquierda (a menos que sean diferentes aparte del sentido), ya que puedes utilizar image_xscale=-1 para dar vuelta a tu sprite. Gastas menos recursos y reduces el margen de error.
2: Corre tu juego en modo Debug y coloca en la lista de variables la variable "global.direccion" para ver si est? cambiando o no. As? tambi?n puedes poner "goku.sprite_index" para ver si el sprite est? cambiando realmente (cuando te devuelva el valor del sprite, te devolver? un n?mero que es el n?mero del recurso, cuidado cuando hagas tu comparaci?n).
3: No es necesario que elimines un objeto y crees otro. Ya que lo ?nico que cambia es la animaci?n, s?lo cambia en el mismo objeto el sprite.

Si quieres, puedes mandarme tu juego a mi correo: jean6301@hotmail.com y te ayudar? a encontrar en s? tu problema.

Saludos.

1) lo voy a tomar en cuenta... gracias...

2) bueno... veo si con eso puedo solucionarlo... igual mas abajo te dejo el editable asi te fijas...

3) no puedo hacer eso... porque esta el objeto del goku principal (para moverse por el mapa, etc...) y el del kamehameha (su nombre lo indica) asike si solo cambio el sprite no podria moverme... =/

Ok! Encontr? un detalle:

Mira, en el evento "<No key>" utilizas la propiedad "direction" para darle el ?ndice del sprite correspondiente, no es as?? Sin embargo, tengo en cuenta que cuando vuelves a crear un objeto, su "direction" vuelve a ser cero y vuelve a poner al sprite mirando hacia la izquierda.

Si ya tienes una variable que indica la direccion (global.direccion) s?lo usa esa variable como referencia para poner los sprites. Usar dos referencias para la misma tarea da estos problemas.

Te env?o el juego con las modificaciones ya echas. S?lo he modificado los eventos <no key>, <left>, <right>, <up> y <down>.

Saludos.

Con razon... a mi me habia parecido que era el No Key... pero no todas las teclas... yo habia modificado el No key nomas... gracias...