AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez
 

 Afficher graphiquement une liste en 3 scripts

Aller en bas 
AuteurMessage
Mass
*Excellent utilisateur*
Mass

Messages : 3338
Localisation : Dans une canonnière wookie.
Projet Actuel : Living the life
Afficher graphiquement une liste en 3 scripts Void

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 13:47

Bonjour,
J'ai fait rapidement un petit browser permettant d'afficher graphiquement une liste.
Notez que je l'ai réalisé sous GM 5.3A (best GM version ever noel ), il est donc possible que certains trucs ne marchent pas, je l'ai adapté vite fait pour GM 6.1.

Afficher graphiquement une liste en 3 scripts Explorateur_list

Télécharger - GM6

Event - Create Create event :
Citation :
list_file=ds_list_create(); //la liste qui contient les infos à afficher

//variables
xmin=0; //position x du browser
ymin=0; //position y du browser
xmax=room_width; //position x2 du browser (comme pour un rectangle)
ymax=room_height; //position y2 du browser (idem)
case_border_color=c_black; //couleur de la bordure des noms de fichiers
case_brush_color=c_gray; //couleur des cases des noms de fichiers
case_font_color=c_black; //couleur de la police utilisée
case_brush_color_select=c_blue; //couleur de la case quand survolée par le curseur
case_font_size=10; //taille de la police (GM 5.3A)
case_size=16; //taille d'une case

//configuration des glissières
show_scrollbar=true; //afficher ou non les glissières
scrollbar_width=16; //largeur des glissières
scrollbar_height=room_height; //hauteur des glissières (voir script_step)
scrollbar_color=c_gray; //couleur de fond des glissières
scrollbar_line_color=c_black; //couleur de bordure des glissières
scrollbar_button_color=c_gray; //couleur des boutons de navigation
scrollbar_triangle_color=c_blue; //couleur des triangles des boutons de navigation
scrollbar_index=0; //n° de la référence de la liste affichée en premier

//création d'une liste, qui peut être remplacée par un script de listing de répertoire
ds_list_add(list_file,"pomme");
ds_list_add(list_file,"poire");
ds_list_add(list_file,"banane");
ds_list_add(list_file,"mangue");
ds_list_add(list_file,"pêche");
ds_list_add(list_file,"fraise");
ds_list_add(list_file,"cerise");
ds_list_add(list_file,"abricot");

Event - Step Step event :
Citation :
//Décommentez la ligne ci-dessous si vous souhaitez que la flèche du bas apparaisse au niveau du dernier élément
//de la liste si celle-ci prends moins de place en hauteur que spécifié par scrollbar_height

//scrollbar_height=ds_list_size(list_file)*case_size;

if mouse_check_button(mb_left)
if mouse_y>ymin and mouse_y<ymin+scrollbar_height and mouse_x>xmax-scrollbar_width
{
if mouse_y>ymin and mouse_y<ymin+scrollbar_width and scrollbar_index>0 then scrollbar_index-=1;
if mouse_y>ymin+scrollbar_height-scrollbar_width and mouse_y<ymin+scrollbar_height and scrollbar_index<ds_list_size(list_file)-floor(scrollbar_height/case_size) then scrollbar_index+=1;
}

Event - Draw Draw event :
Citation :
//Dessin des cases
yact=ymin;
cs_num=0+scrollbar_index;
repeat ds_list_size(list_file)-floor((case_size*ds_list_size(list_file))/scrollbar_height)
{
if mouse_y>yact and mouse_y<yact+case_size and x<xmax-scrollbar_width then draw_set_color(case_brush_color_select) else draw_set_color(case_brush_color);
draw_rectangle(xmin,yact,xmax-scrollbar_width,yact+case_size,false);
draw_set_color(case_border_color);
draw_line(xmin,yact,xmax-scrollbar_width,yact);
draw_line(xmin,yact,xmin,yact+case_size);
draw_line(xmin,yact+case_size,xmax-scrollbar_width,yact+case_size);
draw_line(xmax-scrollbar_width,yact,xmax-scrollbar_width,yact+case_size);
draw_set_color(case_font_color);
draw_text(xmin,yact,string(ds_list_find_value(list_file,cs_num)));
cs_num+=1;
yact+=case_size;
}

//Dessin de la scrollbar
if show_scrollbar
{
draw_set_color(scrollbar_button_color);
draw_rectangle(xmax-scrollbar_width,ymin,xmax,ymin+scrollbar_width,false);
draw_rectangle(xmax-scrollbar_width,ymin+scrollbar_height-scrollbar_width,xmax,ymin+scrollbar_height,false);
draw_set_color(scrollbar_triangle_color);
draw_triangle(xmax-scrollbar_width,ymin+scrollbar_width,xmax,ymin+scrollbar_width,xmax-scrollbar_width/2,ymin,false);
draw_triangle(xmax-scrollbar_width,ymin+scrollbar_height-scrollbar_width,xmax,ymin+scrollbar_height-scrollbar_width,xmax-scrollbar_width/2,ymin+scrollbar_height,false);
}

Enfin, vous pouvez faire un event global left released et trouver quelle ligne est cliquée comme ceci :
Citation :
if mouse_y < ds_list_size(list_file)*case_size and mouse_x<xmax-scrollbar_width
{
//vos actions
show_message("Cliqué : "+string(ds_list_find_value(list_file,floor(mouse_y/case_size))));
}

Voilà, bonne utilisation, n'hésitez pas si vous avez des remarques !

_________________
Wyvup


Dernière édition par Max le Dim 13 Juin 2010 - 13:53, édité 1 fois
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
onilink_
Modérateur
onilink_

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

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 13:51

Manque plus que l'option deplacer et on a le menu de pokemon noel

_________________
Afficher graphiquement une liste en 3 scripts Runningpotato1Afficher graphiquement une liste en 3 scripts TvF6GED Afficher graphiquement une liste en 3 scripts MdetltS
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass

Messages : 3338
Localisation : Dans une canonnière wookie.
Projet Actuel : Living the life
Afficher graphiquement une liste en 3 scripts Void

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 13:52

xD
jviens de me rendre compte que j'ai laissé en commentaire mes essais...
Je corrige ça

EDIT : ayé splus propre comme ça

_________________
Wyvup
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
Chulien
Utilisateur confirmé: Rang *****
Chulien

Messages : 2231

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 13:55

onilink_ a écrit:
Manque plus que l'option deplacer et on a le menu de pokemon noel
lol pas mal
Revenir en haut Aller en bas
http://sites.google.com/site/chuliendev
Mass
*Excellent utilisateur*
Mass

Messages : 3338
Localisation : Dans une canonnière wookie.
Projet Actuel : Living the life
Afficher graphiquement une liste en 3 scripts Void

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 14:15

Bon y'a de nombreuses erreurs sur le script, je corrige et je renvoie

_________________
Wyvup
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
onilink_
Modérateur
onilink_

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

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 14:25

cool en tt cas mais faudrais peut etre faire une version lite pour les non enregistrés. :pac_dr:

_________________
Afficher graphiquement une liste en 3 scripts Runningpotato1Afficher graphiquement une liste en 3 scripts TvF6GED Afficher graphiquement une liste en 3 scripts MdetltS
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass

Messages : 3338
Localisation : Dans une canonnière wookie.
Projet Actuel : Living the life
Afficher graphiquement une liste en 3 scripts Void

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 14:37

jconnais pas les limitations de la lite :pac_dr:

_________________
Wyvup
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
onilink_
Modérateur
onilink_

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

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 14:41

ben on peut pas utiliser les ds_list, pareil pour les autres data structures d'ailleur.
Faudras juste remplacer par des tableaux

_________________
Afficher graphiquement une liste en 3 scripts Runningpotato1Afficher graphiquement une liste en 3 scripts TvF6GED Afficher graphiquement une liste en 3 scripts MdetltS
Revenir en haut Aller en bas
red-error
Utilisateur confirmé: Rang ****
red-error

Messages : 1015
Projet Actuel : Afficher graphiquement une liste en 3 scripts Bas-machoire2000

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 15:03

J'ai fait un truc de ce genre, mais c'était un tableau affiché avec les noms d'objets et leur image (pomme, biscuit...), et pis deux façons de déplacer (remplacer/insérer), dans un inventaire délimité.

Mais bon je suppose que la réussite ici est justement de l'avoir fait avec une liste. Very Happy

(Parce que les tableaux c'est facile, tu le parcours, tu affiches, pour déplacer tu bouge tout d'une case...)



> Je viens de regarder et c'est surtout la gestion de la taille personnalisable, scollbar et souris qui est intéressante (toutes les variables pour personnaliser...). Donc oui c'est transposable en tableau, les liste sont juste un peu plus faciles à remplir. Very Happy


Dernière édition par red-error le Dim 13 Juin 2010 - 19:09, édité 1 fois
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass

Messages : 3338
Localisation : Dans une canonnière wookie.
Projet Actuel : Living the life
Afficher graphiquement une liste en 3 scripts Void

Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts EmptyDim 13 Juin 2010 - 16:48

Ok bon finalement c'est relativement caca comme truc, je reprog ça demain ça sera mieux

_________________
Wyvup
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
Contenu sponsorisé




Afficher graphiquement une liste en 3 scripts Empty
MessageSujet: Re: Afficher graphiquement une liste en 3 scripts   Afficher graphiquement une liste en 3 scripts Empty

Revenir en haut Aller en bas
 
Afficher graphiquement une liste en 3 scripts
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Liste des rois de Sicile.
» La liste des 100 livres préférés des lecteurs de Foglia de La Presse
» Editeurs de Normandie.... en ligne!
» Lieu d'accueil enfants-parents aux Avenières : qui veut participer ?
» FORUMACTIF

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