Muy buenas,

ultimamente estoy jugando mucho al Tiny Tower. B?sicamente, el juego va de ir creando un rascacielos, a?adiendo plantas (de momento llevo m?s de 30) y d?ndole unos recursos o servicios para gestionarlas y dem?s.

Hoy me he preguntado como se podr?a hcer un juego as? con Game Maker, es decir, ir ampliando poco a poco la room de tama?o, a lo largo, por ejemplo. Est? claro que no puedes crear/ampliar una room a 10.000 pixeles de largo y crear una view de 640x480(por ejemplo), as? ?como lo har?ais vosotros?
Est? claro que un juego como R-type (?g?nero shoot-em'up?) no creas un room ultra larga, sino que haces que las naves se vayan moviendo/apareciendo en la pantalla hacia ti con una velocidad.

Partimos de la base que no hay imagen de fondo, porque ser?a infinita, y se van a?adiendo m?dulos cada vez. Os paso mi torre para daros un ejemplo  8)

http://towers.nimblebit.com/1431299909 

Menudo p?rrafo os he soltado.  ;D Ya me dir?is!

Merci!

David

una manera es con una view, la cual sea estatica hasta que una variable indique el maximo de "Y" que puede subir, eso segun los pisos que a?ades. otra combinando rooms.

?Combinando rooms ser?a usar un objeto Persistent y pegar/juntar las rooms como si fuera una entera? ?Como se gestionar?a as?? ?O nos referimos a un cambio de room como si se cambiase de habitaci?n en un juego de rol, con transici?n, llamando a room_go_to?

al referirme a pegar room, cada room debe ser persistent en gml es asi room_persistent=true; , osea las persistent son las rooms, asi se guardan los cambios, y al retornar sigue tal como estaba antes.
lo demas es hacer los siguiente.
event step de algun object que debe estar en todas las rooms osea este object debe ser persistent.
if mouse_y <16
{room_goto_next();}
si el puntero del mouse subeen caso de que sea el mouse que mueva la supuesta "view". cambia el siguiente room que seria el piso mas alto.
if mouse_y > room_height
{room_goto_previous()}
como lo anterior pero regresa a la que estaba-.


La otra manera de hacerlo es con la view, ya la room es grande
osea tiene una y inmensa, y la view esta debajo. perompra esta debes usar varias variables para controlarla y abra y maximo que es el final de la room.
ahora tambien puedes unir ambas opciones.

#4 Noviembre 12, 2011, 12:38:40 AM Ultima modificación: Noviembre 12, 2011, 12:40:37 AM por MaanuRP
Hice un ejemplo, espero que sea lo que pides porque me tomo un tiempito xD

Saludos! :)

PD: Lo que hace este ejemplo es:

@ Con el click izquierdo creas cajas que caen por la gravedad.
@ Al llegar a la linea se pasa al otro room con "la ultima caja" que pusiste debajo, como si fuera que la camara se fue para arriba.
@ Si en el room que no hay mas piso (Porque ya pasaste de room, para arriba) y una caja no queda sobre las otras, osea que sigue cayendo se destruye.
@ Y demas xD

El ejemplo me sirvi? mucho, solo hay que hacer cuatro modificaciones si interesa visualizar la otra room.

Muchas gracias!

En realidad mucho no habia entendido el problema, hice lo que pude jaja, me alegra que te haya servido :)