Mamie Wawa Très bonne participation
Messages : 112
| Sujet: Faire des menus qui se scale à la fenêtre ? Mar 17 Fév 2015 - 19:59 | |
| Bonsoir, Depuis longtemps j'ai eu des problèmes avec les menus ( que ce soit sur GM8 ou studio ) j'ai toujours eu des problèmes de scale par rapport à la taille de la fenêtre ou bien si je met la fenêtre en fullscreen, y aurait-il un tutoriel qui explique tout simplement comment faire pour avoir des menus propres composés de simples textes et boutons ? et qui soient utilisable en fullscreen et en fenêtré. Ce que j'ai actuellement fait pour un menu de pause ( qui fonctionne en fenêtré mais lorsque j'ai mis en full screen les boutons sont décalés par rapport à la souris ( je ne suis pas dans la zone des boutons mais cela agit comme si ) - Code:
-
/// Draw menu draw_set_font(fnt_32); draw_set_alpha(1) draw_set_valign(fa_center); draw_set_halign(fa_center); draw_set_color(c_white);
texture_set_interpolation(true); draw_text_transformed_colour( view_wport/2 , view_hport/5 , "Game paused" ,3,3,0,c_white,c_white,c_white,c_white,1); // Game paused
draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*2 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*2 + hauteur_button, colour_int, colour_int,colour_int,colour_int, false); if ( point_in_rectangle(window_mouse_get_x(),window_mouse_get_y(),view_wport/2 - largeur_button, view_hport/5*2 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*2 + hauteur_button) ) then draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*2 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*2 + hauteur_button, colour_high, colour_high,colour_high,colour_high, false); draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*2 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*2 + hauteur_button, colour_ext, colour_ext,colour_ext,colour_ext, true); draw_text_transformed_colour( view_wport/2 , view_hport/5*2 , "Resume" ,2.5,2.5,0,c_white,c_white,c_white,c_white,1); // Resume
draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*3 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*3 + hauteur_button, colour_int, colour_int,colour_int,colour_int, false); if ( point_in_rectangle(window_mouse_get_x(),window_mouse_get_y(),view_wport/2 - largeur_button, view_hport/5*3 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*3 + hauteur_button) ) then draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*3 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*3 + hauteur_button, colour_high, colour_high,colour_high,colour_high, false); draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*3 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*3 + hauteur_button, colour_ext, colour_ext,colour_ext,colour_ext, true); draw_text_transformed_colour( view_wport/2 , view_hport/5*3 , "Options" ,2.5,2.5,0,c_white,c_white,c_white,c_white,1); // Options
draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*4 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*4 + hauteur_button, colour_int, colour_int,colour_int,colour_int, false); if ( point_in_rectangle(window_mouse_get_x(),window_mouse_get_y(),view_wport/2 - largeur_button, view_hport/5*4 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*4 + hauteur_button) ) then draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*4 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*4 + hauteur_button, colour_high, colour_high,colour_high,colour_high, false); draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*4 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*4 + hauteur_button, colour_ext, colour_ext,colour_ext,colour_ext, true); draw_text_transformed_colour( view_wport/2 , view_hport/5*4 , "Menu" ,2.5,2.5,0,c_white,c_white,c_white,c_white,1); // Menu
draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*5 - view_hport/5/3 - hauteur_button/2, view_wport/2 + largeur_button, view_hport/5*5 - view_hport/5/3 + hauteur_button/2, colour_int, colour_int,colour_int,colour_int, false); if ( point_in_rectangle(window_mouse_get_x(),window_mouse_get_y(),view_wport/2 - largeur_button, view_hport/5*5 - view_hport/5/3 - hauteur_button/2, view_wport/2 + largeur_button, view_hport/5*5 - view_hport/5/3 + hauteur_button/2) ) then draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*5 - view_hport/5/3 - hauteur_button/2, view_wport/2 + largeur_button, view_hport/5*5 - view_hport/5/3 + hauteur_button/2, colour_high, colour_high,colour_high,colour_high, false); draw_rectangle_colour(view_wport/2 - largeur_button, view_hport/5*5 - view_hport/5/3 - hauteur_button/2, view_wport/2 + largeur_button, view_hport/5*5 - view_hport/5/3 + hauteur_button/2, colour_ext, colour_ext,colour_ext,colour_ext, true); draw_text_transformed_colour( view_wport/2 , view_hport/5*5 - view_hport/5/3 , "Quit" ,1,1,0,c_white,c_white,c_white,c_white,1); // Quit
texture_set_interpolation(false);
// Click button if ( mouse_check_button_pressed(mb_left) ) { // Resume if ( point_in_rectangle(window_mouse_get_x(),window_mouse_get_y(),view_wport/2 - largeur_button, view_hport/5*2 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*2 + hauteur_button) ) { escape = true; instance_activate_region(view_xview-activate,view_yview-activate,view_wview+activate*2,view_hview+activate*2,true); global.f9_on = abs(global.f9_on-1); obj_hud_controller.alarm[3] = 3; instance_destroy(); } // Options if ( point_in_rectangle(window_mouse_get_x(),window_mouse_get_y(),view_wport/2 - largeur_button, view_hport/5*2 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*2 + hauteur_button) ) { // Options menu } // Menu if ( point_in_rectangle(window_mouse_get_x(),window_mouse_get_y(),view_wport/2 - largeur_button, view_hport/5*4 - hauteur_button, view_wport/2 + largeur_button, view_hport/5*4 + hauteur_button) ) { game_restart(); } // Quit if ( point_in_rectangle(window_mouse_get_x(),window_mouse_get_y(),view_wport/2 - largeur_button, view_hport/5*5 - view_hport/5/3 - hauteur_button/2, view_wport/2 + largeur_button, view_hport/5*5 - view_hport/5/3 + hauteur_button/2) ) { game_end(); } } Auriez vous des astuces et conseils pour pouvoir faire un menu simple et efficace ( et qui marche parfaitement surtout ) Merci d'avance Bonne soirée |
|