Cita de: Guacusio en Agosto 09, 2015, 04:07:25 PM:o ;D ;D amigo muchas gracias funciono, es mi primer juego y estoy aprendiendo muchas gracias :love:
En primer lugar, el cuarto argumento de la función collision_crircle debe ser un solo objeto; no puedes "sumar" objetos para indicar que quieres hacer la prueba de colisión con varios tipos de objeto. En este caso te sugeriría que agrupes los objetos bajo el mismo parent, por ejemplo un objeto "escenario" que sea parent de todos los objetos del escenario que representan obstáculos a la hora de encontrar un espacio para colocar al zombie.
En segundo lugar, dado que buscas coordenadas aleatorias para el zombie, nada te garantiza que en 5 ciclos de for vas a encontrar siquiera una posición libre. Lo que debieras hacer es, por ejemplo, usar un do/until dentro del for de esta manera:Código [Seleccionar]for(i=0;i<5;i+=1)
{
do
{
xx=random(room_width);
yy=random(room_height);
}
until !collision_circle(xx,yy,1500,escenario,0,0)
instance_create(xx,yy,Zombi_01)
}
Por cierto, una distancia libre de 1500 a la redonda de cada obstáculo es bastante grande.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
1
Preguntas y respuestas / Re:Problema Enemigo aleatorio sin colision
Agosto 09, 2015, 04:35:03 PM2
Preguntas y respuestas / Problema Enemigo aleatorio sin colision (SOLUCIONADO)
Agosto 09, 2015, 03:31:36 PM
:'(
Buenas, estoy creando mi primer videojuego y quiero colocar un modo oleada el problema es cuando quiero que los enemigos aparezcan aleatoriamente en el escenario sin que aparezca encima de otro objeto es decir sin colisionar, lo he intentado de mil maneras y no logra funcionar algunos aparecen bien otros si colisionan
Este es el codigo : se ejecuta 5 veces (para aparecer 5 enemigos) en un lugar aleatorio verificando que no exista colision, no funciona :'( >:( :'(
Buenas, estoy creando mi primer videojuego y quiero colocar un modo oleada el problema es cuando quiero que los enemigos aparezcan aleatoriamente en el escenario sin que aparezca encima de otro objeto es decir sin colisionar, lo he intentado de mil maneras y no logra funcionar algunos aparecen bien otros si colisionan
Este es el codigo : se ejecuta 5 veces (para aparecer 5 enemigos) en un lugar aleatorio verificando que no exista colision, no funciona :'( >:( :'(
Código [Seleccionar]
for (i = 0; i < 5; i += 1)
{
xx = random(room_width);
yy = random(room_height);
if !(collision_circle(xx,yy,1500,cama_09+cama_011+Planta3+Estante2+Estante6+Estante3+obj_san_deco_01+obj_san_deco_03
+Obj_silla_04+oobj_mesa_02+Personaje+Pared1_0+Pared_3_0+Pared_3_1+Pared1_1+Pared2_1+Pared2_2+Pared2_3+Pared2_4+pared_abajo1,0,0))
{
instance_create(xx,yy,Zombi_01)
}