He cambiado lo que tengo en esta foto, algo engorroso la verdad
(https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn2/t1.0-9/1506892_706835386046845_6332010370930419509_n.jpg)
Por este código:
if (global.ammo>0)
{
if (sprite_index=p_izquierda)
var obj;
obj=instance_create(x+personaje,y+personaje,b_izquierda);
with (obj) motion_set(180,5);
if (sprite_index=p_derecha)
var obj;
obj=instance_create(x+personaje,y+personaje,b_derecha);
with (obj) motion_set(0,5);
if (sprite_index=p_arriva)
var obj;
obj=instance_create(x+personaje,y+personaje,b_arriva);
with (obj) motion_set(90,5);
if (sprite_index=p_abajo)
var obj;
obj=instance_create(x+personaje,y+personaje,b_abajo);
with (obj) motion_set(270,5);
global.ammo-=1;
sound_play(sound10);
}
El problema es que dispara por la cuatro direcciones a la vez.
eso esta cuando presionas, o chequeas la tecla espacio?? porque por lo que veo, lo que hiciste fue comprobar que si el numero de balas es una cantidad que no se (me imagino que tal vez 0 por el problema), disparas una bala, y no puedes disparar otra porque el numero de balas es 1 en el room, hasta que esta sale y se destruye, ahora es 0 y puedes volver a disparar... ocupa mejor el evento key press (que tal vez esa tengas), y borra las acciones de test instance count que tienes... yo creo que ahi podras disparar :)... cualquier duda me dices!!
Hola fab62 gracias por contestar si tengo key prees, y lo de el count lo he puesto para eso para que dispare una sola bala y no pueda disparar otra hasta que destruya, el problema es que si disparo una bala y tarda en destruirse y vuelvo a apretar el botón de disparo me descuenta las balas, lo que quiero es que no haga nada en ese trascurso de tiempo, hasta que se destruya la bala y pueda volver a crear otra, no si me explicado bien espero que se entienda.
Tener cuatro objetos, uno por dirección, para las balas, es poco eficiente y engorroso de manejar, si la bal a es redonda, sólo necesitas un objeto y un sprite con una imagen, si la bala no es redonda, y digamos que la punta de la bala es distinta a la "cola de la bala" igual solo necesitas un objeto y un sprite, pero el sprite con cuatro subimágenes, una subimagen por cada dirección de la bala
La resta la tienes que condicionar a que ocurra sólo si no hay una bala en la habitación. Al presionar la tecla de disparo:
if !instance_exists (obj_bala)
{
//restar bala
//crear bala
}
Yo lo que hago es que tengo algo parecido en mi proyecto y en el create de la bala tengo los ifs aplicados al player
es más fácil tener una bala y como te dice penumbra, varios sprites para un único objeto.