buenas como es posible hacer que se genere un objeto en un punto de mi room y que al destruirlo aparezca otro en otro punto
ejemplo :
mi room es de 720x1280 pero donde sucede todo es en el medio de la room imaginen un cuadrado en el medio de la room con dos objetos dentro jugador y enemigo quiero que al destruir el enemigo este aparezca en otro lado pero dentro del cuadrado
Puedes, por ejemplo, crear el objeto en una posición aleatoria así:
[gml]
instance_create(irandom(room_width), irandom(room_height), objeto);
[/gml]
Y en el evento <destroy> del objeto pones el mismo código.
y como haria que no aparezca fuera del cuadro ?
Pues le restas a los valores X & Y del instance_create ???
si ya me di cuenta de eso jajaja que tonto ahora me pasa lo siguiente que se crean sin parar me imagino que tengo que hacer una comprobación que si el objeto enemigo esta creado no seguir creándolo hasta que este se destruya pero no se como crearlo disculpa por la molestia esque soy nuevo con esto de gml pero estoy aprendiendo rapido
Depende de lo que quieras hacer. Si quieres que se cree cuando haces click en X parte, pues pones el instance_create en un evento de mouse o dentro de una condición de mouse.
Si sólo quieres que se cree si no existe pues algo asi:
[gml]
if !instance_exists(objeto) {
instance_create(ya,lo,sabesxD);
}
[/gml]
soy un crack lo había echo sin saber pero nunca corri el juego jaja y ya lo ultimo para no fastidiarte mas que siento que me vas a matar por preguntón al destruirlo quiero que aparezca una escala mas grande el enemigo que mi enemigo tenga un tope de esala que si del 1 al 20 1 es su tamaño original 2 un poquito mas grande 3 ... y asi sucesivamente y al llegar a 20 pase algo que tengo en mente jaja
osea crear como una variable tamaño y que esta tenga un tope de 20
Podrías, primero, en algún otro objeto, declarar una variable global, evento <create>:
[gml]
global.tamanio = 1;
[/gml]
Y en el objeto que se crea, evento <create>:
[gml]
image_xscale = global.tamanio;
image_yscale = global.tamanio;
[/gml]
Y en el <destroy> del objeto, junto al instance_create:
[gml]
global.tamanio++;
[/gml]
te lo juro esto es lo ultimo que me falta, como hago que al darle un toque a la pantalla se rebaje 1 a mi variable tamanio jaja del objeto que ya esta creado
Me van a regañar por responder tantas preguntas diferentes en un solo post D:
En el <step> de cualquier objeto:
[gml]
if mouse_check_button_pressed(mb_left) {
global.tamanio--;
}
[/gml]
ok disculpa ya no pregunto sobre otra cosa que no sea esto ok pasa lo siguiente tengo mi objeto enemigo a la escala orginal quiero que al dar toque a la pantalla este cambie su tamaño a una escale menos poniendo el código que me diste pasa algo extraño no reduce el tamaño dle objeto que esta creado si no al destruirlo aparece otro con el tamaño chiquito
Entonces, en el <mouse left pressed> del objeto que quieres cambiar su tamaño:
[gml]
image_xscale--;
image_yscale--;
[/gml]
ok se me eta derritiendo el cerebro quiero que pase algo como esto que el da click y el objeto se reduce y mira como el objeto nunca se pasa de los limites de la boca a mi se me sale cuando esta muy grande
http://www.juegos.com/juego/machaca-monstruos (http://www.juegos.com/juego/machaca-monstruos)
Si sólo habrá una instancia a la vez, como el ejemplo que diste, se podría hacer así, desde un objeto cualquiera en evento <step>:
[gml]
if mouse_check_button_pressed(mb_left) {
objeto_monstruo.image_xscale -= 0.1; //Esto es opcional, pon lo que quieras
objeto_monstruo.image_yscale -= 0.1; //Esto es opcional, pon lo que quieras, pero sería mejor que usaras la misma medida de arriba para que no se deforme el sprite
}
[/gml]