a ver... es un poco complicado lo que quiero hacer... nisiquiera se si ser? posible :-[ pero esto es:
estoy haciendo un juego de plataformas... y las rooms son peque?as, asi que no uso vistas.
para cambiar de room uso como transiciones "push from..." dependiendo de donde salga, por ejemplo si salgo por debajo de la habitacion uso "Push from bottom".
y ese tipo de transiciones mueve todo... incluso las vidas, y yo quiero que las vidas permanezcan quietas... osea que la transicion no las afecte.
uso gm8 en version lite...
cualquier recomendacion ser? bienvenida... y si no se puede... ser? no ma'
No creo que se pueda hacer lo que quieres, pero siempre puedes hacer la transici?n de forma manual. Modificando las coordenadas de todo el room sin modificar las de las Vidas. :)
he leido un poco por ahi en base a tu respuesta, y no he encontrado como mover la room... intente algo loco y prove room.x+=1 cuando presionara una tecla... y se mueven todos los objetos al mismo lugar (eso creo), excepto los enemigos y el personaje principal.
en caso de que exista una forma... (que aun no encuentro)
para eso tendria que mantener todas las rooms persistentes??
ahora lo malo es que estoy usando tiles en mis rooms... se pueden mover las tiles tambien?
?Necesitas algo como esto?
http://www.comunidadgm.org/index.php?topic=10414.0
Sin usar vistas es casi imposible...
Te va a costar, pero desde GM7 existe la posibilidad de crear tus propias transiciones de rooms.
Cita de: Manual :GM8:transition_define(kind,name) You can actually create your own transitions. To this end you must define a script (possibly in an extension package) to do the transition. With this function you can then add the transition to the system. kind is the index of the transition (either a new one or an existing transitions). name is the name of the script. Note that the name of the script is a string! So there must be quotes around it. Note that this is really advanced stuff. The script must take five arguments: a surface with the image of the previous room, a surface with the image of the next room, the width of the surfaces, the height of the surfaces, and the fraction of the transition (between 0 and 1). It must then draw the image using the two surfaces.
Lo que ten?s que hacer es copiar la transici?n que quer?s pero modificandola para que no afecte las vidas. Como dije, te va a costar, pero si lo logr?s vas a haber aprendido un mont?n.
CitarInsertar Cita
?Necesitas algo como esto?
http://www.comunidadgm.org/index.php?topic=10414.0
Sin usar vistas es casi imposible...
siiiiiiii eso es lo que quiero hacer... entonces tienes una vista que se mueve cuando cruzas la puerta en una sola room gigante??
Cita de: Wadk en Febrero 08, 2010, 09:27:46 PM
Te va a costar, pero desde GM7 existe la posibilidad de crear tus propias transiciones de rooms.
Cita de: Manual :GM8:transition_define(kind,name) You can actually create your own transitions. To this end you must define a script (possibly in an extension package) to do the transition. With this function you can then add the transition to the system. kind is the index of the transition (either a new one or an existing transitions). name is the name of the script. Note that the name of the script is a string! So there must be quotes around it. Note that this is really advanced stuff. The script must take five arguments: a surface with the image of the previous room, a surface with the image of the next room, the width of the surfaces, the height of the surfaces, and the fraction of the transition (between 0 and 1). It must then draw the image using the two surfaces.
Lo que ten?s que hacer es copiar la transici?n que quer?s pero modificandola para que no afecte las vidas. Como dije, te va a costar, pero si lo logr?s vas a haber aprendido un mont?n.
sospechaba que esa era una solucion, pero para eso se necesita la version registrada verda??... yo me acuerdo que antes hacian competencias de juegos con la version lite, y al ganador le regalaban la version pro... todavia hacen eso??
Si, se requiere la versi?n registrada :/. No s? si ahora hay alg?n concurso de los que mencion?s, pero yoyogames organiza concursos de vez en cuando y con el dinero del premio podr?as comprar GM a tu familia entera (aunque el nivel de los juegos ganadores siempre es muy alto). As? que por ahora pod?s dejarlo as? o arregl?rtelas usando views.
Para el efecto aplico dos vistas al mismo tiempo, una que se mueve cuando el personaje toca una puerta y la otra fija en un lugar que no se v? en el room.
creo que no queda otra que usar las vistas... voy a probar y luego cuento que tal...
gracias a todos por sus respuestas
lo logr?!!! :D
aqui est? como lo hice...
1? creo una room gigante que va a ser mi primer nivel.
2? creo un objeto invisible que va a servir como referencia para la vista (ejemplo obj_vista)
3? creo una vista para la room que estoy usando
4? le digo que siga al objeto que vamos a seguir (osea obj_vista)
5? le pongo como bordes la mitad del ancho y alto de la vista (si la vista es de 400x200 los bordes ser?n de 200x100)
6? le pongo un paso horizontal y vertical... por ejemplo 16
7? puse este codigo en el evento Boundary View 0 del personaje
w_hero = 32 //ancho del sprite del heroe
h_hero = 32 //alto del sprite del heroe
if((view_yview[0] + view_hview[0]) < (obj_hero.y + h_hero) && //si sale por abajo
(obj_vista.y > view_yview[0] && obj_vista.y < (view_yview[0] + view_hview[0]) )){//y si el objeto esta en la vista
obj_vista.y+=view_hview[0]
}
if(view_yview[0] > obj_hero.y){//si sale por arriba
obj_vista.y-=view_hview[0]
}
if((view_xview[0] + view_wview[0]) < (obj_hero.x + w_hero)){//si sale por la derecha
obj_vista.x+=view_wview[0]
}
if(view_xview[0] > obj_hero.x){//si sale por la izquierda
obj_vista.x-=view_wview[0]
}
8? en la room colocar el objeto en el centro de la vista (esto lo hice manualmente)
9? crear un objeto controlador que dibuje las vidas y cosas por el estilo como items y demases
10? en el evento draw del controlador dibujar las vidas usando como referencia la vista para que parezca que no se mueve
y eso... con eso me salio.
La idea la tome de lo que dijo Rodri_cyberdog pero los scripts son mios... usenlos si quieren, no importa si no ponen mi nombre... pero si lo ponen se agradece ;)
saludos