hola nuevamente, les explico mi duda:
actualmente en mi juego tengo 1 solo enemigo, pero tengo pensado hacer 3 enemigos diferentes, lo que no quiero es poner a todos ya con una posicion definida, ya que siento que esto se prestar?a a memorizar su posici?n y hacer el juego demasiado sencillo, as? que lo que quiero es que se vayan creando aleatoriamente desde el borde derecho de la pantalla, o incluso desde algunos puntos de control (cocheras, los enemigos son coches), pero tampoco quiero que se creen tantos enemigos que sea practicamente imposible pasar.
de paso otra duda, como hago para que mi personaje no salga de la pantalla al llegar al borde del room??
Empecemos por lo sencillo, para que no salga por el borde de la room: haz un sprite de 16x16 (Las medidas que tu quieras, yo te doy un ejemplo) de cualquier color, creas un objeto solido con este sprite para darle el rol de una pared.
Lo colocas por todos los bordes que quieres que no se vaya tu personaje, creando el evento colision con las acciones correspondientes para que choque el personaje con estas paredes.
Obviamente, al hacerlas asi nomas a las paredes, vas a querer que no se vean: configura la View del room para que no se vean esos cuadros (La pared que creaste recien) (Es facil, ya que tienes que hacer que la View empiece a los 16x16 (Dependiendo de como los ubicaste y de como los hiciste tu, obvio) y que termine 16x16 antes (Misma aclaracion que antes). Ya que los cuadros que no quieres que se vean estan alrededor, y es facil de evitar que no se vean (No te digo que los hagan invisibles porque tu room quedaria con todo un borde donde no hay nada y quedaria mal esteticamente.
Una solucion mas sencilla, utilizando GML. Solo tienes que poner que si la x de tu personaje es menor o igual que 0, y mayor o igual al "room_width" que no se mueva mas (Esto dependera de que uses para mover a tu personaje).
Si la y de tu personaje es menor o igual que 0, y mayor o igual al "room_height" que no se mueva mas (Esto dependera de que uses para mover a tu personaje).
Un ejemplo:
[size=10pt]if player.x <= 0 {hspeed = 0};
if player.x >= room_width {hspeed = 0};
if player.y <= 0 {vspeed = 0};
if player.y >= room_height {vspeed = 0};
Donde "hspeed = 0" y "vspeed = 0" lo tendrias que cambiar por lo que uses para mover a tu personaje. A esa variable o lo que sea, hacerla 0 para que tu personaje no se mueva mas de eso.[/size]
En mi caso, uso la primer opcion (La de las paredes), se me hace mas sencillo, ademas la del codigo nunca la use, deberia funcionar asi, pero nunca la use.
En cuanto a la otra duda, tendrias que usar las "alarm", lo que podrias hacer es armar todo para que salgan tus enemigos, y cuando ya lo tengas armado pones para que se activen esas acciones con la(s) alarm(s), y con un code le das el tiempo con randomize.
Te escribiria el codigo, pero nunca trabaje con random, pero estoy seguro que asi te podria funcionar, solo dale los ultimos toques tu mismo, toda la info ya la tienes ;)
Espero haberte ayudado!
Saludos!