Amigos a ver como puedo lograr hacer que se me cree una instancia en el EJE Y necesito un rango de 200 a 800
pero me gustaria que en el mismo eje solo se cree una instacia a la ves he utilizado el random_range() pero me crea muchos y solo ocupo que se me cree uno a la ves.
Gracias
[gml]randomize()
if !instance_exists(obj_rojo)
instance_create (100, irandom_range(200, 800), obj_rojo) Crea UNA SOLA instancia del objeto ob_rojo en X= 100 Y =200 a 800 (aleatoria)
[/gml]
Hola gracias por responder .No se por que pero no me esta creando nada de instancia.
Gracias
En el player collision con el bloque lo puse asi
pero no me crea nada
if vspeed>0
{
hspeed=0 //para la velocidad
randomize()
if !instance_exists(obj_block)
instance_create (x, irandom_range(200, 800), obj_block)
obj_block.hspeed=0 //cuando caigo en en el bloque el background se para
y=yprevious
move_contact_all(270,abs(vspeed))
vspeed=0
}
Nota:cuando el player pega con el block entonces que cree el sisguiendo en determinanda posicion.
Gracias
Por eso siempre hay que dar más detalles. El código funciona para lo que mencionaste en el primer post.
No se crea ningún bloque porque ya existe un objeto bloque, y la condición crea un objeto bloque solamente si no existe ningún objeto bloque en la habitación.
Para solucionarlo, en lugar de if !instance_exists(obj_bloque) se debe usar if (instance_number < algo), donde algo es el límite de bloques que debe haber en la habitación
Otra manera, que creo se adapta mejor al juego, es usar una variable que cambie cuando haya colisión, de manera que las acciones sólo ocurran una vez por colisión, y no en cada step mientras haya colisión. Por ejemplo
CREATE:[gml]
crear_nuevo_bloque = 1[/gml]
STEP[gml]
if (crear_nuevo_bloque == false) and !place_meeting(x,y, obj_bloque)
crear_nuevo_bloque = 1[/gml]
EV COLISION player - bloque[gml]
randomize()
if (crear_nuevo_bloque)
{
instance_create (x, irandom_range(200, 800), obj_block)
crear_nuevo_bloque = 0 //Impedir la creación de mas bloques hasta que el jugador se aparte del bloque y vuelva a chocar con él
}[/gml]
randomize()
if (crear_nuevo_bloque)
{
instance_create (400, irandom_range(600, 600), obj_block) //cuando cambio los valores del rango me aparecem un monton
crear_nuevo_bloque = 1 //eso es por que se crean muchos bloques
}
Hay algo que no esta funcionando :'(
El código funciona, aquí está la prueba:
http://www.mediafire.com/download/esl29d7wr1j99ad/ejemplo.gmz (http://www.mediafire.com/download/esl29d7wr1j99ad/ejemplo.gmz)
Lo demás es adaptarlo para que se ajuste a tu juego, pero el 99% de la idea ya está realizada. TIP: Usa el debugger para saber donde ocurre la falla. Otra pista: la condición del STEP se puede cambiar para que en lugar de una función de colisión, se compruebe la distancia del player al bloque, creo que con eso se solucionaría.
http://gyazo.com/8964726f3b660008914a1e548379d5f3 en el ejemplo que mando me da este error a que se debe
empiezo a notar que parece que es error de Game maker :'( :'(
early Access v.1.99.355
Gracias
lo he solucionado uno Lindas y hermosas (;) eran pero en mi game maker sigue apareciendo muchas bloques
randomize()
if (crear_nuevo_bloque)
{
var caja = instance_create (x, irandom_range(50, 300), obj_caja);
caja.gravity = 1.5;
crear_nuevo_bloque = 0;
}
El error continua en el proyecto mio
Proba de esta manera
var caja;
caja = instance_create (x, irandom_range(50, 300), obj_caja);
Nada lo mismo.
Borra var dejando solo caja = instance_create (x, irandom_range(50, 300), obj_caja); y crea la variable caja en el evento CREATE
igual :'(
sube tu proyecto