Intento conseguir que cuando el jugador pulse space,delante de un enemigo, este lo ejecute con una animacion.Pero mis problemas son estos:
1-La animacion se repite todo el rato
2-Si pulso una tecla durante la animacion, esta se detiene
Gracias de antemano
Hola, yo har?a esto:
En keyboard space
sprite_index=sprite_atacar
y en otros eventos ( para que no cambie el sprite de ataje)
if not sprite_index=sprite_atacar { sprite_?ndex=lo que sea}
y para que no se repita la animaci?n:
en evento other-animation end
if sprite_?ndex= sprite_ataque
{
sprite_?ndex=//el sprite que uses antes del ataque
}
con eso deber?a bastar, un saludo
Soy nuevo en esto...y no entiendo mucho lo que pusiste.Lo siento
:-[ tranquilo, voy a explicarlo de nuevo pero mucho mas detallado:
a ver:
Citar
1-La animacion se repite todo el rato
esto tiene f?cil arreglo, un sprite cuando llega a su ?ltimo fotograma se repite, es en este momento cuando hay que evitarlo, de la siguiente manera:
hay un evento qeu hace esa funcion. "animation end" que se encuentra en el evento other, y en esa lista esta animation end, y pones el siguiente c?digo; (no se que nivel tendr?s, pero por si acaso, para a?adir un c?digo hay que ir al la pesta?a control, y de ah? a ensert code)
if sprite_index=spr_ataque //si la imagen uqe hay en el momento (en este caso la que sale cuando se pulsa espacio)
{
sprite_index=cualquiera //aqu? pones el sprite que tendr?a que aparecer despu?s de atacar
}
vale, con eso tenemos solucionado lo de que no se repita
Citar
2-Si pulso una tecla durante la animaci?n, esta se detiene
pues vamos a hacer algo parecido:
en el evento donde se pulsa cualquier otra tecla, al que sea, que haga cambiar el sprite pones esto:
if not sprite_index=spr_ataque //si no esta la imagen de ataque
{
sprite_index=sprite//pones lo que deber?a de hacer esa tecla
}
bien, pues ya esta, si a pesar de esto no te sale, te creo un ejemplo o simplemente cuelgas el editable de tu juego y se corrige desde el.
un saludo .
le esto de los sprites cundo lo leas te enviare la respuesta
http://tuwebdeinformatica.com/Crearjuegos/Indice.html
metete en leccion 1 despues en sprites, despues pasate por las acciones
avisame por aqui cundo lo hagas, necesito que sepas eso para ense?arte la manera mas facil de hacerlo sin la mecesidad de escribir code.
esperare a que me digas tomate tu tiempo XD
Nada,uso lo de animation end y sigue sin parar.
Si,Un ejemplo me ayudaria mucho,gracias.De todas formas el mio es este
http://www.megaupload.com/?d=9ZVSQ5JD.
Lo que intentaria es:
Si el "jugador_drch" esta a la espalda y pulsa SPACE, ejecute la animacion(sigiloso), destruyendo la instancia enemiga(object 3) y al acabar esta animacion volver al sprite "jugador_drch".
P.D.De todas formas hay algun manual que expliquen las variables del GML?porque en el oficial no vienen.
Gracias por la ayuda
Cita de: pesteling en Febrero 23, 2010, 08:34:47 PM
le esto de los sprites cundo lo leas te enviare la respuesta
http://tuwebdeinformatica.com/Crearjuegos/Indice.html
metete en leccion 1 despues en sprites, despues pasate por las acciones
avisame por aqui cundo lo hagas, necesito que sepas eso para ense?arte la manera mas facil de hacerlo sin la mecesidad de escribir code.
esperare a que me digas tomate tu tiempo XD
Ese es el problema,estoy acostumbrado a programar en C++, y esto se le parece.Pero no encuentro un manual que explique bien las variables del GML.Con el programa he conseguido hacer cosas sencillas,para ir aprendiendo,pero todo con sprites simples.Ninguno estaba animado.
ok entiendo :'( :'( :'( :'( :'( no fui de ayuda :'( :'( :'( :'( :'(
nos vemos :'( :'( pero le echare un vistazo si encuentro solucion te la digo XD
Cita de: pesteling en Febrero 23, 2010, 09:57:12 PM
ok entiendo :'( :'( :'( :'( :'( no fui de ayuda :'( :'( :'( :'( :'(
nos vemos :'( :'( pero le echare un vistazo si encuentro solucion te la digo XD
Pero la intencion se agradece!De todas formas?Ya consegui que inicie la animacion y la finalice!
Pero ahora me interesa destruir al enemigo con destroy instance.Pero solo tocarle lo destruye sin realizar la animacion!...o la realiza muy rapido
aaaaaaa!!!!! ya entendi!!! aqui esta arreglado:
http://www.megaupload.com/?d=D513XSQ3 (ftp://http://www.megaupload.com/?d=D513XSQ3)
ok pero echale un vistazo a lo que hise para compararlo XD XD
Seria pulsar el boton Space,ejecutar la animacion una vez, y destruir la instancia object 3, la que se supone que muere del cuchillazo.Yo lo tengo asi.Ya he conseguido destruir al enemigo pero...si durante la animacion pulso alguna tecla,esta es saltada.Alguna manera de bloquear las teclas?
Muchas gracias a los dos por la ayuda, ya consegui hacerlo todo perfecto!!!
:).Pero ahora tengo otra duda x D?Como puedo hacer para que en un momento de la animacion suene un sonido?Seria que al clavarle el cuchillo sonara este sonido(ya esta descargardo y cargado en el programa).
en el evento colicion con el enemigo pone la accion main1, play sound y seleccionas el sonido que quieras :)
lo ago, pero aparece durante toda la animacion.Solo me interesa que aparezca cuando le clava el cuchillo al enemigo en la animacion.
entonces deverias quitar el enemigo muriendo de la animacion de el ataque del jugador :(
Entonces me quedo sin animacion xD
Como podria para hacer que si la posicion X de un objeto es mayor que la posicion X de otro se haga cierta accion.Ej:
If object1.x > object3.x {
}
Me da este error:
ERROR in
action number 1
of Keyboard Event for <Space> Key
for object object1:
Error in code at line 1:
if object1.x < object3.x{
at position 24: Unknown variable x
Creo que tienes que usar el evento animation end, y pones destroy at the instance.
Nose, me suena que es asi
El error que te aparece ocurre porque no te reconoce la variable "x" de "object3". Esto suele ocurrir porque el id esta mal introducido, porque el objeto al que referencias aun no existe o ha dejado de existir.
tendras que quitar el enemigo muriendose de la animacion xD
haci solo sonara cuado colisione :)
bien.Ya hice lo que dijisteis para solucionar lo del sonido en la animacion.De todas formas para ejecutar un sonido en GML en un codigo,?como lo hago?
Cita de: Shoto_reaper en Febrero 24, 2010, 02:54:54 PM
lo ago, pero aparece durante toda la animacion.Solo me interesa que aparezca cuando le clava el cuchillo al enemigo en la animacion.
Esto psa por una de dos razones:
1.El sonido dura m?s de lo necesario (para una pu?alada deber?a durar un segundo el sonido) y
2. Est? activada la casilla LOOP, looping lo que hace es repetir el sonido hasta que termina la escena.
Espero que se te resuelva, saludos.