:GM8:
Hola, he comenzado en este mundillo con un juego naves estilo 1942, mi primera pregunta n00b:
?Como puedo limitar el numero de objetos de una room? Mi objeto nave al pulsar tecla "Space" dispara ilimitadamente objetos "disparo", y lo que quiero es que dispare un unico disparo mientras el objeto este en pantalla y no haya colisionado, algo asi:
Si objeto_disparo No existe OR objeto_disparo no ha salido de los limites de la pantalla
>crear el objeto_disparo
Saludos,
bueno lo que podrias hacer es que en evento Other>View>outsiade view[0] ([0] = a una de las 8 view que uses pon la que estes usando) y en el pon:
instance_destroy()
y en la tecla de disparo pon:
if not instace_exists(bala)
{
<codigo>
}
eso deberia de funcionar suerte :)
gracias por la respuesta, al parecer funciona lo que has comentado ;)
1) Una duda, Other>View>outsiade view[0] junto con instance_destroy() que hace? que cuando la instancia este fuera de la view (es decir "pantalla"), destruya dicha instancia?
si es otra cosa por favor me lo podrias aclarar, thx!
2) Luego aparte, el codigo se introduce dentro de cada Objeto, con la Accion (Cuadradito) Execute Code verdad?
Hola y bienvenido.
Lo que preguntas es mucho m?s sencillo de resolver y te va a resultar muy ?til en otras ocasiones. En programaci?n se llaman Flags (banderas) y funcionan como interruptores.
En tu caso, el Flag te avisa cuando existe un disparo activo, en ese caso no vas a poder disparar de nuevo hasta que ese disparo no exista.
Ejemplo:
EVENTO CREATE
global.disparo_activo=0;//declaras la flag y la pones a 0
EVENTO MOUSE LEFT
if(global.disparo_activo=0){instance_create(x,y,obj_disparo);
global.disparo_activo=1}
Hecho esto, en el objeto del propio disparo, al matarlo (quede fuera de la vista, o mate un enemigo, etc..) en ese momento pones la flag a 0 (global.disparo_activo=0) lo cual te permitir? disparar de nuevo.
Aclaro que hay otras formas de hacerlo, incluso m?s sencillas, por ejemplo con instance_exists(), pero entender esto te va a ayudar mucho en tus futuros proyectos.
Espero te sea de ayuda 8)
Gracias por la ayuda.
Conozco los flags, visto esta que hay diversas maneras de enfocar el mismo problema. Luego mas adelante ya tocara optimizar el codigo. Ahora estoy con la toma de contacto con GML.
Podeis cerrar el post.