Abril 30, 2014, 11:21:26 AM Ultima modificación: Mayo 16, 2014, 06:38:13 AM por cancerbero666
He cambiado lo que tengo en esta foto, algo engorroso la verdad


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.
wilkinson escapes

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!!
El ayer es un recuerdo, el mañana un pensamiento, es el ahora en donde existo y vivo para ser feliz :D

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.
wilkinson escapes

#3 Abril 30, 2014, 09:10:03 PM Ultima modificación: Abril 30, 2014, 09:14:38 PM por penumbra
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.
Visita mi proyecto: Space Cadet