Hola a todos...

Estoy realizando un juego con ataque tipo zelda, me he bajado mil y un ejemplos (todos en ingl?s) y aplico lo mismo y no me sale nada. Tambi?n descargue uno que me recomendaron echo en GM5 del zelda, pero tampoco me agarra con el GM7...

Tengo el personaje que se mueve ya, tengo las imagenes de la espada y del personaje haciendo el movimiento para lanzar los espadazos..

Alguna ayuda para un principiante?

Cual es la pregunta especificamente ?

Creo que dice como hacer para que al pulsar una tecla lance un espadazo
poniendo este codigo en Step del personaje

if keyboard_check(ord('X')) and sprite_index!=spr_espadazo {
sprite_index=spr_espadazo; instance_create(x,y,obj_espadazo);
}

eso es lo basico, har? que al pulsar X, si el sprite NO ES de lanzando un espadazo, cambie el sprite a lanzar espadazp y cree un objeto espadazo que es el que da?ara al contacto

despues esta el espadazo que tenga un sprite segun la direccion donde lanz? el personaje, pero aver si preguntabas esto

pd- primero hay que crear el objeto espadazo, y que se destruya al terminar la animacion

 Yo tengo la imagen del personaje quieto y el que larga el espadazo, que pasa si quiero que los enemigos sean lastimados cuando tocan las espada nomas ?

Para mi eso seria... creando variables...

Por ejemplo... pones en el objeto "controlador" (si es que usas uno... sino en el create event de cualkier objeto que haya en el room)

{
       var = vida;
       vida = 100
}

seteamos "applies to"--->"object" y elegimos el parent que normalmente se usa para crear muchos enemigos diferentes...

Ahi hicimos que la variable tenga un valor de 100... en el enemigo

Ahora en el objeto del enemigo (deberias crear un parent y asignarlo porque sino lo vas a tener que hacer con todos los enemigos ^^ y es un lio...)

Haces un evento "collision" con "espadazo"

y ejecutas este codigo...

{
      vida -= 10
}

esto hace que la vida del enemigo se reduzca de 10 en 10... por lo tanto al tener 100 (lo que asignamos antes...) s muere de 10 espadazos

Espero haber sido claro ^^ y no haberme ekivokado xD

creo que te refieres que al colisionar con el objeto ataque SOLO al colisionar con la espada
en ese caso duplicas el sprite del personaje atacando y BORRAS lo que no da?ar? al enemigo, (si en una subimagen no saca aun la espada la dejas en blanco) asi tendras una animacion donde SOLO se vera la espada, osea lo que colisionara y da?ar? el enemigo

 Lo que tengo hasta ahora es que cuando uno preciona la tecla "z" se crea el objeto espada en la posicion en una posicion del personaje principal (y un movimiento relativo en el step que hace que lo siga) y el enemigo que entra en contacto con la espada le hace "x" puntos de da?o; luego de la animacion, el objeto "espada" se destruye.

Tanto como el personaje principal como el objeto "espada" tiene cada uno su sprite con las cuatro direcciones (arriba, abajo, derecha, izquierda) pero no se hacer lo siguiente:

Si el sprite de "obj_pj" (personaje usado) es el sprite que esta mirando hacia arriba, se cree el "obj_espada" en la posicion que es razonable que este (en la parte superior) y con el sprite de la espada atacando hacia arriba, si el personaje tiene la imagen que esta mirando a la derecha; se crea el objeto espada pero con el sprite mirando a la derecha, etc.

Estoy trabado con eso y con el GML se muy poco, si alguien me puede ayudar, agradecido. 

En lugar de crear el objeto espadazo normalmente haces esto
ID=instance_create(x,y,obj_espadazo);
Ahora desde ?STE objeto, puedes modificar el objeto espadazo creado, ya que tiene la id ID
asi por ejemplo
ID.sprite_index=tal;
modificas solo al objeto acabado de crear, asi segun la direccion cambia su sprite

 Ahora mismo no estoy en mi PC, lo voy a intentar m?s tarde. Gracias por la ayuda.

Si alguien puede subir un mini-ejemplo que haga una acci?n parecida, agradecidisimo (soy medio bolas todavia con GML)

Tienes que tener el obj_atk, osea un objeto que sera el ataque en cualquier direccion, 4 sprites del personaje atacando en las 4 direcciones, y esos 4 sprites los duplicas para que sean los sprites que tendra el ataque, osea el mismo pero solo viendose la espada, borrando al personaje (si en una subimagen del principio se ve en blanca dejala blanca).

Entonces en el codigo de atacar haces:

if sprite_index=spr_abajo {sprite_index=spr_ataca_abajo; image_index=0; instance_create(x,y,obj_atk); ID.sprite_index=spr_atk_abajo;}

Asi repitiendo el code para las otras 3 direcciones, debe funcionar, recuerda destruir el objeto atk en animation end

Yo hice hace poco un ejemplo parecido a lo que pides,
aqui te lo dejo si te sirve.


Un saludo.

Mil gracias....le voy a echar un vistazo... Perdonen por lo denso con esto jeje