Adaptar nuestro juego en diferentes dispositivos

También te podría gustar...

24 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?,

  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

Deja un comentario

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