Septiembre 16, 2011, 03:59:12 PM Ultima modificación: Septiembre 16, 2011, 04:34:02 PM por Sdo.Ivan
os explico...para que progresivamente vayan apareciendo enemigos en la room en lugares aleatorios estoy usando este codigo

tengo un objeto llamado control_enemigos
en su create
[gml]alarm[0] = 10[/gml]
y en la alarma 0
[gml]xrandom = random(room_width)
yrandom = random(room_height)
if place_free(xrandom,yrandom)
{
instance_create(xrandom,yrandom,soldado_02);

}
alarm[0] = 10[/gml]

teniendolo asi se me plantean varios problemas

1- deduzco que al buscar aleatoriamente una posicion x e y donde que se encuentre libre muchas veces se crea un enemigo encima del otro y se quedan "bugueados" ya que cada enemigo ocupa un circulo de 32pxl de diametro no sabria solucionar esto.

2-teniendo en cuenta q la view de la room hace 640x640pxls muchas veces se crean enemigos en la view y querria evitar esto...tampoco sabria como hacer para que aparecieran en la room pero fuera de la view...un saludo y gracias

#1 Septiembre 16, 2011, 04:12:05 PM Ultima modificación: Septiembre 16, 2011, 04:43:18 PM por Jucarave
Hola, para lo de encima del otro puedes cambiar place_free por collision_circle

[gml]xrandom = random(room_width)
yrandom = random(room_height)
if place_free(xrandom,yrandom){
if not (collision_circle(xrandom,yrandom,32,soldado_02,1,0)){
     instance_create(xrandom,yrandom,soldado_02);
}
}
alarm[0] = 10[/gml]

y para que aparecieran por fuera de las vistas podrias hacer:

[gml]xrandom = random(room_width)
yrandom = random(room_height)
if place_free(xrandom,yrandom){
if not (collision_circle(xrandom,yrandom,32,soldado_02,1,0)){
     if not((xrandom>view_xview[0]&&xrandom<view_xview[0]+view_wview[0])&&
        (yrandom>view_yview[0]&&yrandom<view_yview[0]+view_hview[0])){
          instance_create(xrandom,yrandom,soldado_02);
     }
}
}
alarm[0] = 10[/gml]


--
saludos.

Checa mi canal de Youtube para tutoriales y charlas sobre desarrollo de videojuegos.


funciona...entendi lo del colision circle pero la verdad...el codigo de que no salga en la view...me resulta de lo mas raro  :-[  :-[ pero funciona perfectamente...mil gracias