Adaptar nuestro juego en diferentes dispositivos

También te podría gustar...

29 Respuestas

  1. Nacho dice:

    Gracias si me funciono. use distintos codigos y este fue el que resulto muchas gracias. la pagina es muy buena.

  2. manuel dice:

    tengo una pequeña duda, el metodo de full screen te pone el juego en pantalla comlpleta, pero que tal si el jugador quiere o prefiere no tener en pantalla completa, aplica para esta opción también?

    • David dice:

      Hola manuel,
      en principio que esté en pantalla completa o no no afecta al cambio. Piensa que en tablets y móviles es como si estuviese a pantalla completa. Si no haces nada de lo explicado, te lo haría a pantalla completa pero con las franjas negras que hemos comentado. En PC estamos acostumbrados a verlo, pero en dispositivos móviles queda feo.

      Si lo ejecutas en modo ventana, debería de funcionar, pero ojo con el siguiente código
      zoom_width = display_get_width();
      zoom_height = display_get_height();
      window_set_size(zoom_width, zoom_height); //solo para Windows, Mac y Linux

      Aquí redimensiono la ventana y ocuparía toda la pantalla. A poner en el scaling FullScale, si cambias el tamaño de la ventana te lo deformaría.
      Una opción sería cambiar el código y poner algo así
      zoom_width = display_get_width() / 2;
      zoom_height = display_get_height() / 2;

      Así la ventana sería más pequeña. Si no otra opción es:

      zoom_width = 800; //ancho fijo
      zoom_height = zoom_width / aspect_ratio;

      Y así controlas tú la ventana sin que se deforme.

      ¡Espero que te sirva!

      David

  3. Yhon Cortes dice:

    Buenas tardes, estoy realizando un juego que tiene varias rooms, pero cada Room tiene un tamaño diferente, el juego me toma el tamaño de la primera room en todas, no es posible que cada room se vea del tamaño que yo le de a cada una??

    • David dice:

      Hola Yhon,
      con Game Maker Studio no puedes cambiar el tamaño de la room, coge solamente el tamaño de la primera.
      La única solución es, sabiendo que el tamaño de la room no puede cambiar, es usar en la primera room el tamaño que te interese (quizás sea el más grande) y luego en las otras room rellenar el espacio sobrante o usar views.

  4. Yhon Cortes dice:

    Gracias por Responder tan Rápido, haré eso que me sugieres espero me sirva muchas Gracias, muy Buena Pagina he seguido todos tus consejos y gracias a eso llevo un proyecto bueno…

  5. pavul dice:

    entonces, en resumen, si usamos unas dimensiones mas grandes para nuestro juegos se adecuaran mejor a cualquier tamano de pantalla, cuando game maker decida cual es el aspect ratio que va a utilizar??

    tambien estoy algo interesando en saber utilizar los surfaces , sabes algo de eso que nos puedas compartir, gracias de antemano.

    • David dice:

      Eso es, aunque más bien el aspect ratio lo decides tú 😉

      No domino el tema de los surfaces, pero le echaré un vistazo y ya lo comentaré en el futuro.

  6. Ivan dice:

    Entonces que tamaño de room uso mejor? 960×768 o 640×480 ??

  7. paraka dice:

    Hola, no sé si estará en otro post pero no lo he visto. Tengo el problema que al cambiar la resolución consigo que la imagen se adapte, pero el tamaño de la letra no así que a más resolución más pequeñita se ve y he leido que habría que hacer una font para cada tamaño, ¿es así o hay alguna manera de solucionar esto?

    • David dice:

      Se puede hacer de otra manera, pero igualmente tienes que crear una fuente para cada tamaño, ya que el programa utiliza ese tamaño fijo. Es normal que a más resolución se vea más pequeña, ya que la fuente tiene los mismos píxeles y ocupan menos en pantalla.

  8. Álvaro Puente Fernández dice:

    Buenas he avanzado mucho en gamemaker pero por más que busco tengo un problema que ha hecho que finalmente escriba este post.

    La cosa esta en que yo tengo este codigo

    global.vkup = virtual_key_add( 102, 192, 170, 170, vk_up );

    global.vkleft = virtual_key_add( 660, 588, 174, 174, vk_left );

    global.vkdown = virtual_key_add( 102, 472, 170, 170, vk_down );

    global.vkright = virtual_key_add( 960, 638, 174, 174, vk_right );

    Esto esta fijado para que funcione en una resolución de 720X1280 el problema viene que al cambiar a la resolución en este caso la de mi movil 1080×1920, los virtual key se me mueven a en medio de los demás objetos debido a que estos siguen en el mismo número de pixel y no se cambian al ser reescalados , no se si me explico xD
    Por ejemplo si hay un objeto que esta en la coordenada 660,448 este al reescalarlo sigue en esas coordenadas por lo que x e y no aumentan como deberian hacer al cambiar de resolución
    La cosa esta en como hacer que se puedan dar unas coordenadas y que el motor de GameMaker las cambie automaticamente al cambiar la resolución
    Gracias de antemano

  9. Giuseppe dice:

    Funciona para Android?

  10. Daniel dice:

    He descargado el miniproyecto, pero como lo puedo ver en accion?,

    • David dice:

      Ejecútalo en Game Maker Studio. Verás que se amplía a toda la pantalla de tu ordenador, y así también lo hace en un móvil o tablet.

  11. Giuseppe dice:

    para room shake antes he utilizado esto:
    Viex_xview= random_range(-2,2);
    Viex_yview= random_range(-2,2);
    Pero ahora no funciona ahora con este nuevo sistema de adattamento.
    Cosa puedo hacer?

    • David dice:

      Hola,
      prueba dos cosas. Primero view_xview y view_yview deben estar en minúsculas. Game Maker Studio distingue mayúsculas y minúsculas y lo trata como si fuesen variables diferentes, así que aquí estás creando variables.

      Segundo, si simplemente ha sido un error al escribir el comentario prueba de poner view_xview[0] y view_yview[0], para que coja la primera vista.
      Seguramente, al usar ya las vistas como índices al adaptarla al dispositivo, es posible que luego ya no la coja así.

  12. nark dice:

    como se requiere display_set_gui_size()?

    • David dice:

      No entiendo bien la pregunta, además creo que esa función no existe. Te refieres a window_set_size? Esa función solo sirve para redimensionar la ventana si no trabajas a pantalla completa.

  13. erick jaden peralta ocampo dice:

    me gusta el pixel art

  14. Squadron dice:

    Hola, estoy usando el GM Studio 2, y estoy queriendo compilar para web (HTML5), pero por mas que intento, siempre el resultado es que sale con el tamaño especificado en la configuracion del proyecto, pero no veo forma de que se adapte al ancho que tenga el webview del navegador en donde se este ejecutando (como en el caso de otros motores) que si por ejemplo, yo hago mi version para 800×600 y la ventana del navegador es mayor, por decir 1024×768, entonces actualmente me muestra ahi una ventana centrada con el juego en 800×600, cuando lo que deberia en todo caso es adaptarse para ocupar el ancho o el alto disponible en el eje que mas convenga de forma que en el otro eje haya un espacio negro por ejemplo o del color que sea el fondo del juego, pero no, ni siquiera se puede hacer que se ponga a pantalla completa tampoco a pesar de estar visible esa opcion en las opciones de configuracion del juego para HTML5, hay alguna manera de poder hacer lo que busco, espero me deje entender. Saludos.

    • David dice:

      Hola,
      no he probado la versión de HTML5 con GMS2, y no te puedo decir como se podría hacer. Si no te funciona con las opciones de configuración que viene en el programa, envía un bug a Game Maker y mira si es por culpa de ellos que te lo puedan solucionar.

      Aquí tienes una opción que podría resolver el problema, pero que conste que es de pago
      https://www.truevalhalla.com/blog/mobility-engine

  15. Squadron dice:

    Ah, y tambien por el contrario, en el ejemplo anterior mismo, si la ventana es mas pequeña que 800×600 en algun eje, tampoco se redimensiona el juego, sino que el webview lo corta y muestra barras de desplazamiento horizontal y/o vertical, como si fuera una web no responsive. Hay alguna forma de hacer que el juego sea responsive? alguna forma que de GM Studio 2 para configurar/modificar el CSS de la parte web del juego? Saludos.

  16. Oscar dice:

    Hola David, muchas gracias por este tutorial. Voy a tratar de vender assets para videojuegos 2D y estoy haciendo backgrounds de 1920 x 1080 (son paisajes urbanos no vectorizados). Sin embargo cuando los pruebo en mi PC con Game Maker se ven un poco más borrosos que cuando los hago de 1024 x 768, sobre todo los sprites de los personajes. Al final estoy en un mar de dudas; ¿qué tamaño de background sería el mejor para vender mis backgrounds en las webs que venden assets para 2D? Un cordial saludo.

    • David dice:

      Creo que el tamaño es indiferente, porque con Game Maker se puede adaptar. Primero, comprueba que la “Texture Pages” que crea sea mayor que tu imagen, ya que puede cortarla y no lo hará correctamente.

      Después, si la room tiene una vista/view más pequeña, es inevitable que tu imagen haga zoom y modifique la calidad. También comprueba que hay un check en Game Options (mira en cada plataforma), en la pestaña Graphics, llamado Interpolate colours between pixels que no esté marcado.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *