Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Un clic une claque | |
| | Auteur | Message |
---|
Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
| Sujet: Un clic une claque Lun 17 Juin 2013 - 11:55 | |
| Bonjour à tous ! J'ai un problème dans ce code d'éditeur de mots cachés. Je voudrais récupérer les coordonnées d'une case (afin d'afficher un mot à partir de cette case) lorsque je clique sur une étoile. J'ai cru bon de procéder en trois temps :
- Apparenter mes cases à un CONTAINER
- répondre à un ON_CLICK sur ce container
- puis parcourir tous les ALPHA par une boucle en testant la commande CLICKED()
mais ça ne marche pas : en effet PANORAMIC ne semble répondre que si la souris pointe à l'extérieur des cases... par un message d'erreur ! Voici mon code : - Code:
-
caption 0,"Grille 1.0" ' on initialise label choix,place dim i,ii,iii,x,y dim clarg,dep,lgmax,ref,mg,md,mh,mb,nbr,nbc,nbm,sens,fgs,t$ clarg=24:nbr=12:nbc=12:nbm=4:dim m$(nbm) data pomme, poire, youpi,"écureuil" for i=1 to nbm read m$(i) ' m$(i)=upper$(m$(i)) lgmax=max(lgmax,len(m$(i))) next i ' mise en place des contrôles
' en 40 un CONTAINER container 40:left 40,clarg:top 40,clarg width 40,8+(1+nbr)*clarg:height 40,8+(1+nbr)*clarg ' une grille remplie d'étoiles for iii=1 to nbc for ii=1 to nbr ref=100+ii+(iii-1)*nbc alpha ref:parent ref, 40:caption ref,"*" font_name ref,"arial":font_size ref,18 left ref,iii*clarg:top ref,ii*clarg next ii next iii ' en 50, un LIST affiche les mots à entrer list 50:left 50,clarg*(3+nbc):top 50,clarg font_name 50,"arial":font_size 50,18 width 50,lgmax*18:height 50,nbm*36 for i=1 to nbm:item_add 50,m$(i):next i ' zeprog on_click 40,place on_click 50,choix end choix: t$=item_index$(50) return place: rem on place horizontalement rem on fera mieux plus tard ' parcourir tous les ALPHA pour trouver le cliqué for i=101 to 101+(nbr*nbc) if clicked(i)=1 dep=i end_if next i msg str$(dep)
return D'une façon générale, le problème est le même sur un tableau de lettres, terrain de jeux, un damier etc. où il semble très facile d'agir sur le contenu, mais moins de connaître la référence d'un élément particulier sur lequel on clique... Si quelqu'un peut m'aider... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Un clic une claque Lun 17 Juin 2013 - 12:06 | |
| Ta boucle en ligne 42 allait un élément trop loin. Je te mets ici une version corrigée, avec en plus la reconnaissance directe du clic sur un des 144 alphas: - Code:
-
caption 0,"Grille 1.0" ' on initialise label choix,place,placebis dim i,ii,iii,x,y dim clarg,dep,lgmax,ref,mg,md,mh,mb,nbr,nbc,nbm,sens,fgs,t$ clarg=24:nbr=12:nbc=12:nbm=4:dim m$(nbm) data "pomme", "poire", "youpi", "écureuil" for i=1 to nbm read m$(i) ' m$(i)=upper$(m$(i)) lgmax=max(lgmax,len(m$(i))) next i ' mise en place des contrôles
' en 40 un CONTAINER container 40:left 40,clarg:top 40,clarg width 40,8+(1+nbr)*clarg:height 40,8+(1+nbr)*clarg ' une grille remplie d'étoiles for iii=1 to nbc for ii=1 to nbr ref=100+ii+(iii-1)*nbc alpha ref:parent ref, 40:caption ref,"*" font_name ref,"arial":font_size ref,18 left ref,iii*clarg:top ref,ii*clarg on_click ref,placebis next ii next iii ' en 50, un LIST affiche les mots à entrer list 50:left 50,clarg*(3+nbc):top 50,clarg font_name 50,"arial":font_size 50,18 width 50,lgmax*18:height 50,nbm*36 for i=1 to nbm:item_add 50,m$(i):next i ' zeprog on_click 40,place on_click 50,choix end choix: t$=item_index$(50) return place: rem on place horizontalement rem on fera mieux plus tard ' parcourir tous les ALPHA pour trouver le cliqué for i=101 to 101+(nbr*nbc)-1 : ' for i=101 to 101+(nbr*nbc) if clicked(i)=1 dep=i end_if next i message str$(dep) return placebis: i = number_click - 100 message "alpha numéro "+str$(i) return
| |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Un clic une claque Lun 17 Juin 2013 - 12:10 | |
| Le message d'erreur t'indique que tu est hors limite pour le numéro d'objet i => if clicked(i)=1 Il faut que tu revois la numérotation des ALPHA(s), moi je n'y comprend rien, il y a surement plus simple.
A+ | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Un clic une claque Lun 17 Juin 2013 - 12:11 | |
| On s'est croisé avec Klaus. | |
| | | Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
| Sujet: Re Lun 17 Juin 2013 - 12:18 | |
| Merci Klaus , je ne connaissais pas cette commande qui va beaucoup me faciliter la vie ! | |
| | | Contenu sponsorisé
| Sujet: Re: Un clic une claque | |
| |
| | | | Un clic une claque | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |