Bueno... estoy trabajando en un proyecto llamado "Dragon Ball Sca-G" (el nombre todavia se puede cambiar xD) y me surgieron unos diversos problemas...
me paso que... al poner yo el evento de "Key Press (Z)" y ejecutar mi codigo...
{
if ( sprite_index = goku_parado_arriba )
{
instance_create(kame_arriba);
}
}
Esto kiere decir que si goku mira para arriba se cree el kamehameha lanzado hacia arriba...
Nada dificil... pero pasa que al lanzar... goku desaparece... y el kamehameha... no sale precisamente de las manos xD... sino que desde donde estaba goku...
Tambien notaran que al chokar con la pared invisible como que sigue caminando en el mismo lugar... se sigue reproduciendo el GIF...
Si alguien me puede decir como crear bien la instancia del Kamehameha... se lo agradeceria... y tambien lo de la pared invisible jaja
PD: Diganme si les parece bien el juego ^^
En el archivo no est? puesto la funcion press ("Z")
Pero puse ese c?digo que pusiste ah? y ni siquiera funciona (da error antes de empezar)
En la parte de movimiento, pon?s c?digo y D&D juntos (para el mismo bot?n en D&D la velocidad es 4 y en codigo es 0.3)
As? que supongo que no le?ste mucho el manual y que lo est?s haciendo todo "de o?do"
Te recomiendo que leas un poco el manual. Parece que te salteaste toda la primer parte (la m?s aburrida, pero la m?s importante para empezar, la base de todo)
http://www.comunidadgm.org/manual_GM/Index.php (http://www.comunidadgm.org/manual_GM/Index.php)
Y respondiendo a tu pregunta:
if keyboard_check_pressed(ord('X'))
{
if goku.sprite_index=goku_parado_arriba {instance_create(x,y,kame_arriba)}
}
Pero como te dije, te recomiendo que dejes el juego un rato para leerte un poco el manual.
Ya solucione lo de la pared invisible... y tambien segui tu consejo e hice todo el sistema de movimiento en codigo unicamente (agrege direction = (x) y speed = 5) lo que me falta es lo del kamehameha... copie y pegue tu codigo y le di las coordenadas correspondiente del sprite de goku y sigue saliendo en esas coordenadas pero de la pantalla... osea sale arriba a la izquierda de la pantalla
mmm... por que no indicas que salga desde la inatancia Goku:
if keyboard_check_pressed(ord('X'))
{
if goku.sprite_index=goku_parado_arriba {instance_create(goku.x,goku.y,kame_arriba)}
}
con la indicacion Goku.x indicas que la instancia se cree en la coordenada x del objeto Goku y lo mismo con Goku.y en la coordenada y. Advierto que con eso se crear? la instancia Kame en el punto de origen de Goku :-[
Exactamente eso hice... y mira...
(http://img682.imageshack.us/img682/8408/santiago.jpg) (http://img682.imageshack.us/i/santiago.jpg/)
Alguna otra solucion? T_T
Segun yo te falto poner el "if" aunque no estoy muy seguro,
si cambias el code haci:
if goku.sprite_index = goku_parado_arriba { instance_create(goku.30,goku.y,kame_arriba) }
Seg?n yo as? deberia funcionar perfectamente, aunque puede fallar :-[ la verdad no tengo seguridad.
hay Nos vemos.
Tampoco funciona... el tema es que la variable goku.x o goku.y no la reconoce... osea la marca como error.... lo que es raro... yo pense que se decia asi la variable de tal objeto...
Ya creo yo, que arregle tu problema editando el archivo(Tuve que instalar el :GM7:)
Pero creo yo que es lo que tu querias, Espero que tengas suerte.
Nos vemos.
Link: Adjunto
Ahi anduvo O_O
Sos un groso.... ? que cambiaste que anduvo ahora?...
PD: no solo lo arreglaste... sino que ahora no detecta error en la expresion "goku.x / goku.y"
Decime como hiciste porque en el futuro lo hare con vegeta y esos seguramente...
PD: Ya corregi para que salga el kamehameha de las manos de goku... el problema es que sale al principio... cuando esta cargando... hay alguna forma de que salga cuando termine la animacion del sprite (osea cuando extienda las manos)
Simplemente use un poco de GML en el evento de presionar la tecla "Z".
En cuanto a las expresiones "goku.x / goku.y" en realidad no las necesitas para hacer
eso, seg?n los casos que yo eh echo, pero en caso contrario si se deberia utilizar para
poder indicar desde una instancia ajena a la de "goku".
Bien pues en realidad no cambie nada, sino que a?adi 4 lineas nadamas XD.
Ahora bien, quieres que salga el Kameha o Genki-dama al terminar la animacion
o en cierta sub imagen simplemente tienes que ponerlo asi:
Ev. Presionar la tecla "X" o cualquier otra tecla.
if sprite_index = goku_parado_arriba { if image_single = subimagen
{ instance_create(x,y,kamekameah_arriba) }}
subimagen: Ultima sub imagen o donde quieres que se cre? el objeto.
Espero haberte ayudado un poco mas XD.
Nos vemos.
Y como se escriben las sub-imagenes?... con numeros o como?
PD: Como hago para que, aunke yo siga presinando Z... la animacion deje de reproducirse?
Las sub imagenes son las imagenes que conforman la animaci?n de un sprite,
se asignan como n?meros es decir, la primera sub imagen se toma con el valor "0",
la segunda sub imagen se toma con el valor "1", la tercera sub imagen se toma el valor "2",
para que no te andes con rodeo simplemente recuerda una peque?a formula de qu?mica,
n-1, donde "n" es el n?mero de cuadro.
Para que deje de reproducirse la imagen y dejando presionado "Z", creo que necesitaras
ayuda de una variable ? talvez no eso dependera de las acciones que ejerceras mediante
avances en el juego, quedar?a mas o menos as?:
Ev. Step:
if sprite_index = goku_ataque_arriba { if image_single = 6/*Suponiendo que 6 es el ultimo cuadro de sub imagen*/
{ sprite_index = goku_parado_arriba }}
As? te deberia funcionar.
Nos vemos.
Lo voy a probar ma?ana... muchisimas gracias por ayudarme!!!!!!!!
Sin vos hubiera tenido problemas durante todo el juego xD
Chau y gracias!!!!
Mira me paso esto... en el evento step puse esto...
if sprite_index = kamehame_arriba { if image_single = 3
{ sprite_index = goku_parado_arriba; }}
if sprite_index = kamehame_abajo { if image_single = 3
{ sprite_index = goku_parado_abajo;}}
if sprite_index = kamehame_derecha { if image_single = 3
{ sprite_index = goku_parado_derecha;}}
if sprite_index = kamehame_izquierda { if image_single = 3
{ sprite_index = goku_parado_izquierda;}}
Y aunke yo siga presionando Z sigue reproduciendoce la imagen... nose... la aimgen no esta en el evento "Keyboard "Z"... esta en el evento "Key_Press "Z" nose si tiene algo que ver...
Y despues... nose porque... en el evento de Key_Press "Z" pongo esto...
{
if sprite_index = goku_parado_arriba
{
sprite_index = kamehame_arriba;
image_speed = 0.1;
if sprite_index = kamehame_arriba {if image_single = 2;
{instance_create(goku.x,goku.y-80,kame_arriba);}}
}
if sprite_index = goku_parado_abajo
{
sprite_index = kamehame_abajo;
image_speed = 0.1;
if sprite_index = kamehame_abajo {if image_single = 2;
{instance_create(x+20,y+120,kame_abajo);}}
}
if sprite_index = goku_parado_derecha
{
sprite_index = kamehame_derecha;
image_speed = 0.1;
if sprite_index = kamehame_derecha {if image_single = 2;
{instance_create(x+30,y+5,kame_derecha);}}
}
if sprite_index = goku_parado_izquierda
{
sprite_index = kamehame_izquierda;
image_speed = 0.1;
if sprite_index = kamehame_izquierda {if image_single = 2;
{instance_create(goku.x-70,goku.y+5,kame_izquierda);}}
}
Y sigue saliendo al principio... la image_single esta bien puesta... consta de 3 imagenes... y esa seria la ultima (3-1)... nose que pasa... por ahi estoy posicionando mal las acciones en ambos eventos...
Alguien sabe sobre mi problema? T_T
Vaya lio xD
Yo simplemente crearia a un goku lanzador y daria 2 variables para las 4 direcciones y seg?n sean ?stas que tengan la animaci?n correspondiente.
Ahi dejo lo que hice a ver que tal.
Por cierto, que diferencia hay entre image_single e image_index ?