AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal
Le Deal du moment :
Cdiscount : -30€ dès 300€ ...
Voir le deal

 

 [Tutoriel] Room adaptable à la fenêtre en GML

Aller en bas 
4 participants
AuteurMessage
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 27 Oct 2011 - 22:00

Bonjour,

Je vais ici vous montrer et expliquer un système que j'utilise pour adapter ma room à ma fenêtre, ce système est plus utile pour un soft qu'un jeu mais il peut être utilisé dans tout les cas.

Exclamation je ne vous expliquerez pas les fonctions natives que j'utiliserai dans ce tutoriel, je vous laisse regarder la documentation en français où tout est assez bien expliqué, si toute fois après avoir regardé et cherché à comprendre vous ne comprenez toujours pas le fonctionnement d'une fonction n’hésitez pas à demander une explication ici même.
Lien de la documentation : http://gamemaker.info/fr/manual


Les objectifs:
-Pouvoir agrandir et rapacité la fenêtre.
-Adapter la fenêtre à l’écran du client.
-Que les textes soient à la bonne proportion et net.
-Que tout les sprites gardent les bonnes dimensions.
-Réaliser le tout avec le moins de code possible.

La réalisation:
On va commencer par créer une Room.
Dans les options de cette Room il va falloir la mettre en "persistant" et lui attribuer une vue.

On va ensuite créer un objet qui va gérer tout le système: obj_resize_window

Dans son Create on va initialiser les variables dont on auras besoin:
Code:

resize=0;

window_set_sizeable(1);

win_width=window_get_width();
win_height=window_get_height();

alarm[0]=1;
resize : permet de savoir si on est entrain de redimensionner la fenêtre ou pas.
win_width et win_height : permet de comparer la taille assignée aux variables avec la taille actuelle de la fenêtre.

On passe à l'alarm[0] qu'on appelle à un Step du Create:
Code:
window_set_rectangle(5,50,display_get_width()-10, display_get_height()-50);
Ici on redimensionne juste la fenêtre par rapport à la résolution de l’écran du client. (je ne le place pas dans le Create car ça créer des conflits avec certains de mes autres scripts)

On finit par le Step:
Code:

if (win_width!=window_get_width() or win_height!=window_get_height()){
    win_x=window_get_x();
    win_y=window_get_y();
    resize=1;
   
    window_set_rectangle(window_get_x(),window_get_y(),window_get_width(),window_get_height());
   
    view_xview[view_current]=0;
    view_yview[view_current]=0;
   
    view_wview[view_current]=window_get_width();
    view_hview[view_current]=window_get_height();
 
    view_xport[view_current]=0;
    view_yport[view_current]=0;
 
    view_wport[view_current]=window_get_width();
    view_hport[view_current]=window_get_height();
   
    room_goto(room);
}

if( resize ){
    window_set_rectangle( win_x,win_y,window_get_width(),window_get_height() );
    resize=0;
}


win_width=window_get_width();
win_height=window_get_height();
Le code reste assez clair, on gros:
-si on redimensionne la fenêtre (en comparant la taille actuelle et les variables win_width et win_height)
-on redimensionne tout les paramètres de la vue
-on recharge la Room (d'où l'importance qu'elle soit persistante).

Améliorations:
Pas d'idées rabbit

Mot de la fin:
Merci pour votre lecture en espérant vous avoir été utile. batman
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 27 Oct 2011 - 22:14

Ouai c'est un peu la ***** a faire avec GM ça.
Être obligé a chaque fois de recharger la room :/


N’empêche tu devrais faire des gm6 bien commentés, ça te prendrais moins de temps et ça serais tout aussi utile.
Car la c'est pas vraiment un tuto, mais plus une démarche a suivre avec le code fournis. (je sais que ça a un nom bien spécifique mais m'en souviens pas)

_________________
[Tutoriel] Room adaptable à la fenêtre en GML Runningpotato1[Tutoriel] Room adaptable à la fenêtre en GML TvF6GED [Tutoriel] Room adaptable à la fenêtre en GML MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 27 Oct 2011 - 22:24

Citation :
Ouai c'est un peu la ***** a faire avec GM ça.
Être obligé à chaque fois de recharger la room :/
Je confirme, j'ai mis pas mal de temps à trouver une solution et c’est la seule que j'ai trouvé, je sais pas s'il y a mieux.

Citation :
N’empêche tu devrais faire des gm6 bien commentés, ça te prendrais moins de temps et ça serais tout aussi utile.
J'ai GM 8 pro donc je ne sais pas si c'est compatible avec des versions antérieurs.
Et en fait tout les bouts de codes que je met à droite et à gauche en ce moment c'est des morceaux de codes de mon éditeur de particules.

Et je trouve que ne pas fournir le gm6 c’est pas mal aussi, car ça oblige les personnes à lire un peut et à non pas aller à la fin et télécharger le truc finit.
Car pas mal de monde fait ça et on arrive avec des jeux qui on tous les mêmes code sources copiés collés, je trouve ça triste personnellement, mais bon c'est un autre débat.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 27 Oct 2011 - 22:27

Fin moi je dit ça parce que les gens qui lisent des tutos ou marche a suivre y en a pas des masses, alors qu'un exemple c'est simple a utiliser et rapide a utiliser.

T'as qu'a aller voir mes tutos sur le gml par exemple. Y a des fois je me dit j'aurais mieux fait de faire un pong online avec des ponays...

_________________
[Tutoriel] Room adaptable à la fenêtre en GML Runningpotato1[Tutoriel] Room adaptable à la fenêtre en GML TvF6GED [Tutoriel] Room adaptable à la fenêtre en GML MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 27 Oct 2011 - 22:32

Tes tutos je les ai tous lus Wink
Et c'est grâce à eux entre autres que j'ai progressé si vite.
Ce qui est dommage sur les forums de ce genre c'est que les gens viennent, posent une question sans avoir cherché, on leurs donne la réponse et on ne les revois jamais et bien entendu sans un seul merci...
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 27 Oct 2011 - 22:35

Oui c'est assez incroyable.
Enfin oui j'ironisais quand je parlais de ponay plus haut, je sais que ça sert quand même un peu de faire des tutos (sinon j'en ferais pas)
mais bon quand on peu éviter de s'emmerder tant qu'a faire des gm6 :p

Je sais pas si t'as vu la banque d'exemple un peu touche a tout que j'avais faite, bah s'il avais fallu que je fasse un tuto pour chaque exemple, j'en serais mort et la section déborderais x)

_________________
[Tutoriel] Room adaptable à la fenêtre en GML Runningpotato1[Tutoriel] Room adaptable à la fenêtre en GML TvF6GED [Tutoriel] Room adaptable à la fenêtre en GML MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 27 Oct 2011 - 22:57

Citation :
Je sais pas si t'as vu la banque d'exemple
J'ai vus le lien mais je ne l'ai pas téléchargé par manque de temps.
Mais un jour peut être Razz
Et puis d'écrire mes scripts ça me permet de les garder quelque part avec des explications au cas où j'en aurais besoin plus tard.
Car des fois quand je code des trucs et que je reviens dessus trois mois après je suis complètement perdu. Quant tu les codes ça semble logique mais quant tu te repenche dessus il y a des trucs que tu ne pige plus.
Mais quand j'aurais plus de temps je mettrai des fichiers d'exemples, là tout mes codes sont dans un seul gros fichier (mon éditeur).
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 27 Oct 2011 - 23:04

Encore un vilain codeur qui utilise pas assez les commentaires Razz

_________________
[Tutoriel] Room adaptable à la fenêtre en GML Runningpotato1[Tutoriel] Room adaptable à la fenêtre en GML TvF6GED [Tutoriel] Room adaptable à la fenêtre en GML MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 27 Oct 2011 - 23:11

Citation :
Encore un vilain codeur qui utilise pas assez les commentaires
Bha en fait je commente des fois Yum!

Mais ça me semble tellement logique ce que je fait que oui je ne commente pas beaucoup.
Faudrait que je fasse des efforts sur ce point je te l'accorde.
Revenir en haut Aller en bas
red-error
Utilisateur confirmé: Rang ****
red-error


Messages : 1015
Projet Actuel : [Tutoriel] Room adaptable à la fenêtre en GML Bas-machoire2000

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 3 Nov 2011 - 0:46

OKAY !
J'ai toujours essayé de redimensionner mes fenêtres, parfois avec succès, mais il y avait toujours 1/2 pixel de décalage dans l'image étrangement...
Donc suffit de recharger la room quand sa redimensionne... Simple.
Revenir en haut Aller en bas
Sekigo Le Magnifique
Utilisateur confirmé: Rang *****
Sekigo Le Magnifique


Messages : 1720

[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML EmptyJeu 3 Nov 2011 - 1:07

Hey, j'ai lu tes tutoriels moi aussi, Onilink. Bon, même si je n'utilise plus GM, mais c'est un détail ça.
En fait, je regard(ais) pas mal les exemples avant, et j'aime bien les tutoriels, ça peut servir dans d'autres langages.

Il ne faut pas trop se baser sur le nombre de commentaires. Parfois, y a pas mal de visiteurs qui regardent, et des membres aussi, mais qui ne savent pas quoi dire.
Personnellement, j'ai été visiteur pendant ~6 mois avant de venir m'inscrire, il y a quelques années. Bon, c'était pour voir surtout la section Privée du forum (mais j'ai été très deçu, je m'attendais à une mine d'or de code, de tutos, etc... Et non, y a que des femmes nus, des liens warez et des poneys dans cette section).
Revenir en haut Aller en bas
https://2img.net/image.noelshack.com/old/up/gmzonecbna-3cfbc56d25.jpg
Contenu sponsorisé





[Tutoriel] Room adaptable à la fenêtre en GML Empty
MessageSujet: Re: [Tutoriel] Room adaptable à la fenêtre en GML   [Tutoriel] Room adaptable à la fenêtre en GML Empty

Revenir en haut Aller en bas
 
[Tutoriel] Room adaptable à la fenêtre en GML
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Problème]Taille de la fenêtre, de la room, (de la view??)
» Ajouter un objet dans une room sans passer par Room
» [Résolu] La room détecte la collision du joueur sur le bord de la room
» comment teleporter des personnage de room en room
» Fenetre?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Game Maker-
Sauter vers: