Afficher graphiquement une liste en 3 scripts Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment : -29%
DYSON V8 Origin – Aspirateur balai sans fil
Voir le deal
269.99 €

 

 Afficher graphiquement une liste en 3 scripts

Aller en bas 
4 participants
AuteurMessage
Mass
*Excellent utilisateur*
Mass


Messages : 3351
Localisation : Dans une canonnière wookie.
Projet Actuel : Monter des trucs et des machins

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 - 15: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 !


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


Messages : 9183
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 - 15:51

Manque plus que l'option deplacer et on a le menu de pokemon noel
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass


Messages : 3351
Localisation : Dans une canonnière wookie.
Projet Actuel : Monter des trucs et des machins

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:52

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

EDIT : ayé splus propre comme ça
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
Chulien
Utilisateur confirmé: Rang *****
Chulien


Messages : 2232

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: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 : 3351
Localisation : Dans une canonnière wookie.
Projet Actuel : Monter des trucs et des machins

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:15

Bon y'a de nombreuses erreurs sur le script, je corrige et je renvoie
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
onilink_
Modérateur
onilink_


Messages : 9183
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 - 16:25

cool en tt cas mais faudrais peut etre faire une version lite pour les non enregistrés. :pac_dr:
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass


Messages : 3351
Localisation : Dans une canonnière wookie.
Projet Actuel : Monter des trucs et des machins

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:37

jconnais pas les limitations de la lite :pac_dr:
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
onilink_
Modérateur
onilink_


Messages : 9183
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 - 16:41

ben on peut pas utiliser les ds_list, pareil pour les autres data structures d'ailleur.
Faudras juste remplacer par des tableaux
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 - 17: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 - 21:09, édité 1 fois
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass


Messages : 3351
Localisation : Dans une canonnière wookie.
Projet Actuel : Monter des trucs et des machins

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 - 18:48

Ok bon finalement c'est relativement caca comme truc, je reprog ça demain ça sera mieux
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
-
» [Résolu] Problème pour afficher une liste
» Charny Scripts [Beaucoup de scripts]
» liste interactive
» [Event] Liste de Trigger (GM8 PRO)
» Créer une liste répertoriant les id

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