Forum Liberty Basic France
• Index
Le présent topic fait suite à celui-ci ---> http://libertybasic.fr/forum/topic-384-2.php#m4298
Bonjour tout le monde !
Je recherchais un moyen de détecter la présence de la souris au dessus d'une zone particulière, pour y afficher une combobox volante, quand soudain une illumination apparut : "commence donc déjà par apprendre le JustBasic ! "
Bon, alors voilà le travail d'une après-midi, que je vous dévoile en cette belle matinée de Dimanche :
Code VB :
Y'aurait-il quelque chose de travers dans ce code ?
Les textes affichés sur une fenêtre graphiques suivent-ils la même règle que les segments de droite qu'on affiche et qu'on doit désafficher ensuite, ou peut-on écrire à l'infini sans crainte pour l'espace mémoire ?
Christophe
Edité par Christophe Le 10/05/2015 à 10h31
Bonjour tout le monde !
Je recherchais un moyen de détecter la présence de la souris au dessus d'une zone particulière, pour y afficher une combobox volante, quand soudain une illumination apparut : "commence donc déjà par apprendre le JustBasic ! "
Bon, alors voilà le travail d'une après-midi, que je vous dévoile en cette belle matinée de Dimanche :
Code VB :
'détecter le passage de la souris dans une zone délimitée 'définir la fenêtre ' (dimensions modifiées par des coefficients allant de 0 à 1 inclus) 'dimensions actuelles de l'écran LargeurEcran = DisplayWidth HauteurEcran = DisplayHeight 'dimensions de la fenêtre WindowWidth = int(LargeurEcran * 0.6) WindowHeight = int(HauteurEcran * 0.6) 'position de l'angle supérieur gauche de la fenêtre sur l'écran UpperLeftX = int(LargeurEcran * 0.2) UpperLeftY = int(HauteurEcran * 0.2) 'position des écritures « position pointeur » XLigneAffichage = int(WindowWidth * 0.05) YLigneAffichage = int(WindowHeight * 0.05) 'position et dimension de la zone dans laquelle on devra détecter la souris ' on définit ici le point supérieur gauche et le point inférieur droit de la zone ' axes de référence : bords droit et haut de la fenêtre XHautGaucheZone = int(WindowWidth * 0.3) YHautGaucheZone = int(WindowHeight * 0.3) XBasDroiteZone = XHautGaucheZone + int(WindowWidth * 0.5) YBasDroiteZone = YHautGaucheZone + int(WindowHeight * 0.5) 'ouvrir la fenêtre en mode graphique (la lecture de la souris ne marche pas en mode window 'il semblerait d'ailleurs qu'il y ait un monde entre ces deux univers) open "souris sur zone ?" for graphics as #fenetre1 'affichage du texte "bougez la souris !" print #fenetre1, "color black" print #fenetre1, "down" print #fenetre1, "place ";XLigneAffichage;" ";YLigneAffichage print #fenetre1, "\Bougez la souris !" print #fenetre1, "up" 'dessin de la zone print #fenetre1, "goto ";XHautGaucheZone;" ";YHautGaucheZone print #fenetre1, "down" print #fenetre1, "backcolor darkgreen" print #fenetre1, "boxfilled ";XBasDroiteZone;" ";YBasDroiteZone print #fenetre1, "backcolor white" 'détection du mouvement de la souris print #fenetre1, "when mouseMove [souris_se_deplace]" 'pour fermer la fenêtre print #fenetre1, "trapclose [quit]" 'attente… wait 'fin du programme, au cas où... end '******** zone des sous-programmes ******** [quit] 'fermeture sans confirmation et par le gadget de fermeture de la fenetre print "[quit]" close #fenetre1 end [souris_se_deplace] 'le pointeur est-il dans la zone ? if MouseX > XHautGaucheZone and MouseX < XBasDroiteZone and MouseY > YHautGaucheZone and MouseY < YBasDroiteZone then afficher$ = "La souris est dans la zone " couleur$ = "red" else afficher$ = "La souris est hors-zone " couleur$ = "black" end if 'affichage de la position du pointeur et de l'information "en/hors zone" print #fenetre1, "color black" print #fenetre1, "place ";XLigneAffichage;" ";YLigneAffichage print #fenetre1, "\Pos X = ";MouseX;", Pos Y = ";MouseY;" " print #fenetre1, "place ";XLigneAffichage;" ";YLigneAffichage + 20 print #fenetre1, "color " + couleur$ print #fenetre1, "\" + afficher$ wait
Y'aurait-il quelque chose de travers dans ce code ?
Les textes affichés sur une fenêtre graphiques suivent-ils la même règle que les segments de droite qu'on affiche et qu'on doit désafficher ensuite, ou peut-on écrire à l'infini sans crainte pour l'espace mémoire ?
Christophe
Edité par Christophe Le 10/05/2015 à 10h31
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Je ne dirai qu'un mot: Parfait!
Au niveau code: Ce n'est peut-être pas la peine de créer des variables: "LargeurEcran" autant mettre directement
"WindowWidth".
Et à la place de tes calculs savants, tu a: SourisouestuenX=MouseX (majuscules obligatoires), qui te donne la position de la souris.
Tu mets un: " if SourisouestuenX > debutzonegauche and SourisouestuenX < finzonedroite then " j y suis dans la largeur"
Et pareil avec: MouseY
Pour ce qui est de la mémoire: Avec 1 ou 2 gigas de ram, ce n'est pas les quelques octets d'une zone de texte qui m'ont jamais inquiétés.
Et donc: Je ne sais pas, mais je ne pense pas. C'est la mise en segment qui mobilise de la mémoire.(puisqu'on peut les rappeler)
Quand on surimpressionne sur un texte, il est perdu pour toujours; si on veut le revoir, il faut le réafficher.
Edit: Houla! je n'avais pas fait gaffe; avec ton système, tu ne détecte QUE si la souris est dans la fenêtre.
Ce qui obligerait à faire autant de fenêtres que de zones à détecter
Avec MouseX et MouseY, tu peux détecter n'importe où dans la fenêtre.
Au niveau code: Ce n'est peut-être pas la peine de créer des variables: "LargeurEcran" autant mettre directement
"WindowWidth".
Et à la place de tes calculs savants, tu a: SourisouestuenX=MouseX (majuscules obligatoires), qui te donne la position de la souris.
Tu mets un: " if SourisouestuenX > debutzonegauche and SourisouestuenX < finzonedroite then " j y suis dans la largeur"
Et pareil avec: MouseY
Pour ce qui est de la mémoire: Avec 1 ou 2 gigas de ram, ce n'est pas les quelques octets d'une zone de texte qui m'ont jamais inquiétés.
Et donc: Je ne sais pas, mais je ne pense pas. C'est la mise en segment qui mobilise de la mémoire.(puisqu'on peut les rappeler)
Quand on surimpressionne sur un texte, il est perdu pour toujours; si on veut le revoir, il faut le réafficher.
Edit: Houla! je n'avais pas fait gaffe; avec ton système, tu ne détecte QUE si la souris est dans la fenêtre.
Ce qui obligerait à faire autant de fenêtres que de zones à détecter
Avec MouseX et MouseY, tu peux détecter n'importe où dans la fenêtre.
____________________
Roro
Roro
Merci !
Roland:
Au niveau code: Ce n'est peut-être pas la peine de créer des variables: "LargeurEcran" autant mettre directement
"WindowWidth".
En effet, je ne sais pas pourquoi je les ai mises, ça avait sûrement un côté rassurant de le voir écrit noir sur blanc, mais ça aurait fait trois lignes de moins, j'admet^^
Roland:
Et à la place de tes calculs savants, tu a: SourisouestuenX=MouseX (majuscules obligatoires), qui te donne la position de la souris.
Tu mets un: " if SourisouestuenX > debutzonegauche and SourisouestuenX < finzonedroite then " j y suis dans la largeur"
Et pareil avec: MouseY
je ne voulais mettre qu'un seul IF. J'ai supposé qu'un IF prendrait moins de temps que deux. Reste à savoir si le temps de traitement d'une porte ET à 4 entrées ne bouffe pas l'avantage de l'IF unique. Le vrai travail n'était pas l'optimisation, c'était une petite idée en passant.
Roland:
C'est la mise en segment qui mobilise de la mémoire.(puisqu'on peut les rappeler)
Quand on surimpressionne sur un texte, il est perdu pour toujours; si on veut le revoir, il faut le réafficher.
ça me rassure, et je n'ai effectivement pas lu de consigne pour désafficher un texte, donc à priori en effet il n'y a pas besoin de s'en préoccuper. Se poser la question était quand même pertinent, vu le nombre de mouvement de souris et d'affichage correspondants.
Roland:
...avec ton système, tu ne détecte QUE si la souris est dans la fenêtre.
C'est normal, la zone _est_ dans la fenêtre, et le programme détecte si la souris est dans la zone, ou à l'extérieur de la zone. Ou alors il ne fonctionne pas sur ton ordi comme il fonctionne chez moi.
Je vais voir maintenant comment gérer plusieurs zones dans une même fenêtre, et déterminer si la souris est dans la zone 1, 2, ou 3. Si ça marche ce sera gagné. (mais pas encore utile pour l'autre post qui traite de la combobox volante : je ne crois pas que les combobox soient fonctionnelles dans une fenêtre en mode graphics, ou si elles le sont, le sont-elles pleinement ? Je sens poindre de nouvelles difficultés)
Christophe.
Roland:
Au niveau code: Ce n'est peut-être pas la peine de créer des variables: "LargeurEcran" autant mettre directement
"WindowWidth".
En effet, je ne sais pas pourquoi je les ai mises, ça avait sûrement un côté rassurant de le voir écrit noir sur blanc, mais ça aurait fait trois lignes de moins, j'admet^^
Roland:
Et à la place de tes calculs savants, tu a: SourisouestuenX=MouseX (majuscules obligatoires), qui te donne la position de la souris.
Tu mets un: " if SourisouestuenX > debutzonegauche and SourisouestuenX < finzonedroite then " j y suis dans la largeur"
Et pareil avec: MouseY
je ne voulais mettre qu'un seul IF. J'ai supposé qu'un IF prendrait moins de temps que deux. Reste à savoir si le temps de traitement d'une porte ET à 4 entrées ne bouffe pas l'avantage de l'IF unique. Le vrai travail n'était pas l'optimisation, c'était une petite idée en passant.
Roland:
C'est la mise en segment qui mobilise de la mémoire.(puisqu'on peut les rappeler)
Quand on surimpressionne sur un texte, il est perdu pour toujours; si on veut le revoir, il faut le réafficher.
ça me rassure, et je n'ai effectivement pas lu de consigne pour désafficher un texte, donc à priori en effet il n'y a pas besoin de s'en préoccuper. Se poser la question était quand même pertinent, vu le nombre de mouvement de souris et d'affichage correspondants.
Roland:
...avec ton système, tu ne détecte QUE si la souris est dans la fenêtre.
C'est normal, la zone _est_ dans la fenêtre, et le programme détecte si la souris est dans la zone, ou à l'extérieur de la zone. Ou alors il ne fonctionne pas sur ton ordi comme il fonctionne chez moi.
Je vais voir maintenant comment gérer plusieurs zones dans une même fenêtre, et déterminer si la souris est dans la zone 1, 2, ou 3. Si ça marche ce sera gagné. (mais pas encore utile pour l'autre post qui traite de la combobox volante : je ne crois pas que les combobox soient fonctionnelles dans une fenêtre en mode graphics, ou si elles le sont, le sont-elles pleinement ? Je sens poindre de nouvelles difficultés)
Christophe.
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Si tu veux gagner du temps, tu a une gestion de détection multizone en graphicbox dans le sous prog: [choice]
De ce prog: --> http://libertybasic.fr/forum/topic-381+un-petit-jeu.php
Le premier "if" détermine la zone d'exclusion
Avec MouseX, MouseY, c'est du gâteau.
Je pense que les combobox fonctionnent sans soucis dans les graphicbox.
J'ai bien aimé ton commentaire sur les différences entre les types de fenêtres.(qui peuvent êtres en effet surprenantes).
De ce prog: --> http://libertybasic.fr/forum/topic-381+un-petit-jeu.php
Le premier "if" détermine la zone d'exclusion
Avec MouseX, MouseY, c'est du gâteau.
Je pense que les combobox fonctionnent sans soucis dans les graphicbox.
J'ai bien aimé ton commentaire sur les différences entre les types de fenêtres.(qui peuvent êtres en effet surprenantes).
____________________
Roro
Roro
Salut vous deux,
il y aurait peut-être une autre piste intéressante (et peut-être plus courte à l'usage ?) : spritecollides (voir le paragraphe Drawing and Collision Detection dans l'aide)
- on crée un petit sprite de 1 pixel
- ce sprite suivra la souris tout le temps.
- on crée autant de sprites blanc à l'emplacement des zones à détecter (un rectangle blanc)
- en utilisant spritecollides on connait le sprite que le petit sprite qui suit la souris vient de percuter...
- on détermine la position du sprite rencontré avec spritexy? je crois bien,
- on déplace le combobox à cette position
et le tour est joué...
@+
Gilles
Edité par cassiope01 Le 12/05/2015 à 10h22
il y aurait peut-être une autre piste intéressante (et peut-être plus courte à l'usage ?) : spritecollides (voir le paragraphe Drawing and Collision Detection dans l'aide)
- on crée un petit sprite de 1 pixel
- ce sprite suivra la souris tout le temps.
- on crée autant de sprites blanc à l'emplacement des zones à détecter (un rectangle blanc)
- en utilisant spritecollides on connait le sprite que le petit sprite qui suit la souris vient de percuter...
- on détermine la position du sprite rencontré avec spritexy? je crois bien,
- on déplace le combobox à cette position
et le tour est joué...
@+
Gilles
Edité par cassiope01 Le 12/05/2015 à 10h22
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Citation:
Comme tu dit !
Le tout est de passer au travers des "sprites allready in use" Et autres ténébreux messages.
Nul doute que tu ferais ça en deux coups de cuillère à pot
Maître des sprites que tu es
Mais Christophe pourrait bien lui y manger son chapeau.
Comme de temps en temps, j'y mange aussi le mien.
Les sprites sont lutins
Et pour les maîtriser
Il faut être malin.
et le tour est joué..
Comme tu dit !
Le tout est de passer au travers des "sprites allready in use" Et autres ténébreux messages.
Nul doute que tu ferais ça en deux coups de cuillère à pot
Maître des sprites que tu es
Mais Christophe pourrait bien lui y manger son chapeau.
Comme de temps en temps, j'y mange aussi le mien.
Les sprites sont lutins
Et pour les maîtriser
Il faut être malin.

____________________
Roro
Roro
L'idée des sprites est loin d'être bête, mais, en effet, je ne connais pas leur fonctionnement dans JustBasic, donc en attendant de me faire une session "spéciale sprites", je continue de me familiariser avec la détection de zones dans une fenêtre graphics.
Je regarde la réalisation de Roland, déjà étudiée (à l'occasion de mon premier post) à une époque où je ne cherchais pas à détecter la présence de la souris, et je reviens quand j'aurai fait quelque chose de significatif, ou si je suis vraiment bloqué^^
Bon après-midi à vous deux. A+
Christophe
Je regarde la réalisation de Roland, déjà étudiée (à l'occasion de mon premier post) à une époque où je ne cherchais pas à détecter la présence de la souris, et je reviens quand j'aurai fait quelque chose de significatif, ou si je suis vraiment bloqué^^
Bon après-midi à vous deux. A+
Christophe
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Voyons Roland ! non seulement encore une fois tu te fais une montagne d'un caillou mais en plus tu fais peur à Christophe
c'est malin ça


____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Avec spritecollide, c'est un combat de sprites que tu propose.
Je m'inquiète des dégâts collatéraux.
Je m'inquiète des dégâts collatéraux.

____________________
Roro
Roro
Pas de panique, je suis toujours là !
En fait ça y est, j'ai mes trois zones indépendantes qui fonctionnent
Voici l’œuvre, brouillonne pour le moment mais ça marche :
Code VB :
J'ai adapté le code pour avoir une couleur par zone, et changé le nom des limites de zones, mais ça reste encore codé en dur. Je cogite sur un programme qui accepte de me générer autant de zones que je veux. A vue de nez, ça devrait pas être trop compliqué, mais c'est pas pour aujourd'hui.
Avant, peut-être que je ferais bien d'essayer si on peut connecter une combobox volante à ce système. Une petite note pour nos lecteurs qui débarqueraient sur cette discussion : la combobox "volante" ne fait pas partie des instructions JustBasic, c'est juste une expression imagée qu'on a trouvé pour parler d'une combobox unique dont le contenu varie en fonction de l'emplacement de la souris dans la fenêtre, qui suit la fenêtre et s'affiche seulement lorsque la souris passe au-dessus d'une zone précise. (ouf ! je sais pas si je suis clair, là
)
Au fait, Roland, ton programme lit la position de la souris dans une fenêtre window, il va falloir que j'éclaircisse ce point car pour moi, ça n'a marché qu'à partir du moment où j'ai passé la fenetre de window à graphics. Si ça marche chez toi, c'est que le problème ne venait pas de MouseX ou MouseY, comme je le croyais au début. Une autre instruction que je n'avais pas soupçonné ? Je me souviens plus (et j'ai viré le fichier "erreur" )
Quoi qu'il en soit, toujours merci de vos suggestions.
A+
En fait ça y est, j'ai mes trois zones indépendantes qui fonctionnent
Voici l’œuvre, brouillonne pour le moment mais ça marche :
Code VB :
'détection de souris sur plusieurs zones d'une fenêtre 'définir la fenêtre ' (dimensions modifiées par des coefficients allant de 0 à 1 inclus) 'dimensions de la fenêtre WindowWidth = int(DisplayWidth * 0.6) WindowHeight = int(DisplayHeight * 0.6) 'position de l'angle supérieur gauche de la fenêtre sur l'écran UpperLeftX = int(DisplayWidth * 0.2) UpperLeftY = int(DisplayHeight * 0.2) 'position des écritures « position pointeur » XLigneAffichage = int(WindowWidth * 0.05) YLigneAffichage = int(WindowHeight * 0.05) 'position et dimension des zones dans lesquelles on devra détecter la souris ' on définit ici le point supérieur gauche et le point inférieur droit de la zone ' axes de référence : bords droit et haut de la fenêtre Zone1XHautGauche = int(WindowWidth * 0.3) Zone1YHautGauche = int(WindowHeight * 0.3) Zone1XBasDroite = Zone1XHautGauche + int(WindowWidth * 0.5) Zone1YBasDroite = Zone1YHautGauche + int(WindowHeight * 0.5) couleur1$ = "darkgreen" Zone2XHautGauche = int(WindowWidth * 0.15) Zone2YHautGauche = int(WindowHeight * 0.11) Zone2XBasDroite = Zone2XHautGauche + int(WindowWidth * 0.2) Zone2YBasDroite = Zone2YHautGauche + int(WindowHeight * 0.15) couleur2$ = "red" Zone3XHautGauche = int(WindowWidth * 0.09) Zone3YHautGauche = int(WindowHeight * 0.36) Zone3XBasDroite = Zone3XHautGauche + int(WindowWidth * 0.09) Zone3YBasDroite = Zone3YHautGauche + int(WindowHeight * 0.02) couleur3$ = "blue" 'ouvrir la fenêtre en mode graphique (la lecture de la souris ne marche pas en mode window 'il semblerait d'ailleurs qu'il y ait un monde entre ces deux univers) open "souris sur zone ?" for graphics as #fenetre1 'affichage du texte "bougez la souris !" print #fenetre1, "color black" print #fenetre1, "down" print #fenetre1, "place ";XLigneAffichage;" ";YLigneAffichage print #fenetre1, "\Bougez la souris !" print #fenetre1, "up" 'dessin des zones 'zone 1 print #fenetre1, "goto ";Zone1XHautGauche;" ";Zone1YHautGauche print #fenetre1, "down" print #fenetre1, "backcolor " + couleur1$ print #fenetre1, "boxfilled ";Zone1XBasDroite;" ";Zone1YBasDroite print #fenetre1, "backcolor white" print #fenetre1, "up" 'zone 2 print #fenetre1, "goto ";Zone2XHautGauche;" ";Zone2YHautGauche print #fenetre1, "down" print #fenetre1, "backcolor " + couleur2$ print #fenetre1, "boxfilled ";Zone2XBasDroite;" ";Zone2YBasDroite print #fenetre1, "backcolor white" print #fenetre1, "up" 'zone 3 print #fenetre1, "goto ";Zone3XHautGauche;" ";Zone3YHautGauche print #fenetre1, "down" print #fenetre1, "backcolor " + couleur3$ print #fenetre1, "boxfilled ";Zone3XBasDroite;" ";Zone3YBasDroite print #fenetre1, "backcolor white" print #fenetre1, "up" print #fenetre1, "when mouseMove [souris_se_deplace]" 'pour fermer la fenêtre print #fenetre1, "trapclose [quit]" 'attente… wait 'fin du programme, au cas où... end '******** zone des sous-programmes ******** [quit] 'fermeture sans confirmation et par le gadget de fermeture de la fenetre print "[quit]" close #fenetre1 end [souris_se_deplace] X = MouseX : Y = MouseY 'le pointeur est-il dans la zone ? zone = 0 if X > Zone1XHautGauche and X < Zone1XBasDroite and Y > Zone1YHautGauche and Y < Zone1YBasDroite then zone = 1 if X > Zone2XHautGauche and X < Zone2XBasDroite and Y > Zone2YHautGauche and Y < Zone2YBasDroite then zone = 2 if X > Zone3XHautGauche and X < Zone3XBasDroite and Y > Zone3YHautGauche and Y < Zone3YBasDroite then zone = 3 select case zone case 0 afficher$ = "La souris est hors-zone " couleur$ = "black" case 1 afficher$ = "La souris est dans la zone 1 " couleur$ = couleur1$ case 2 afficher$ = "La souris est dans la zone 2 " couleur$ = couleur2$ case 3 afficher$ = "La souris est dans la zone 3 " couleur$ = couleur3$ end select 'affichage de la position du pointeur et de l'information "en/hors zone" print #fenetre1, "color black" print #fenetre1, "place ";XLigneAffichage;" ";YLigneAffichage print #fenetre1, "\Pos X = ";X;", Pos Y = ";Y;" " print #fenetre1, "place ";XLigneAffichage;" ";YLigneAffichage + 20 print #fenetre1, "color " + couleur$ print #fenetre1, "\" + afficher$ wait
J'ai adapté le code pour avoir une couleur par zone, et changé le nom des limites de zones, mais ça reste encore codé en dur. Je cogite sur un programme qui accepte de me générer autant de zones que je veux. A vue de nez, ça devrait pas être trop compliqué, mais c'est pas pour aujourd'hui.
Avant, peut-être que je ferais bien d'essayer si on peut connecter une combobox volante à ce système. Une petite note pour nos lecteurs qui débarqueraient sur cette discussion : la combobox "volante" ne fait pas partie des instructions JustBasic, c'est juste une expression imagée qu'on a trouvé pour parler d'une combobox unique dont le contenu varie en fonction de l'emplacement de la souris dans la fenêtre, qui suit la fenêtre et s'affiche seulement lorsque la souris passe au-dessus d'une zone précise. (ouf ! je sais pas si je suis clair, là

Au fait, Roland, ton programme lit la position de la souris dans une fenêtre window, il va falloir que j'éclaircisse ce point car pour moi, ça n'a marché qu'à partir du moment où j'ai passé la fenetre de window à graphics. Si ça marche chez toi, c'est que le problème ne venait pas de MouseX ou MouseY, comme je le croyais au début. Une autre instruction que je n'avais pas soupçonné ? Je me souviens plus (et j'ai viré le fichier "erreur" )
Quoi qu'il en soit, toujours merci de vos suggestions.
A+
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Le prog ne lis pas dans la window, mais dans la graphicbox
C'est ce que je trouve le plus pratique: une graphicbox dans une window NF
Je vais tenter de faire "voler" une combobox.
Mais je vois poindre un problème pour les changements de tableaux; car à chaque nouvel emplacement de la combo, il faudra lui affecter un tableau différent.
Je pense qu'il va falloir garder le même tableau et en changer le contenu en amont du déplacement
ton programme lit la position de la souris dans une fenêtre window
Le prog ne lis pas dans la window, mais dans la graphicbox
C'est ce que je trouve le plus pratique: une graphicbox dans une window NF
Je vais tenter de faire "voler" une combobox.
Mais je vois poindre un problème pour les changements de tableaux; car à chaque nouvel emplacement de la combo, il faudra lui affecter un tableau différent.
Je pense qu'il va falloir garder le même tableau et en changer le contenu en amont du déplacement
____________________
Roro
Roro
Essai concluant. Enfin...Presque
la combobox vole bien, mais y a un petit soucis: Il faut détruire le combodrome au décollage et en reconstruire un pour l'atterrissage.
Because: La combobox est définie avant l'open.
C'est pas gagné.
Code VB :

la combobox vole bien, mais y a un petit soucis: Il faut détruire le combodrome au décollage et en reconstruire un pour l'atterrissage.
Because: La combobox est définie avant l'open.
C'est pas gagné.
Code VB :
'détection de souris sur plusieurs zones d'une fenêtre 'définir la fenêtre ' (dimensions modifiées par des coefficients allant de 0 à 1 inclus) 'dimensions de la fenêtre WindowWidth = int(DisplayWidth * 0.6) WindowHeight = int(DisplayHeight * 0.6) 'position de l'angle supérieur gauche de la fenêtre sur l'écran UpperLeftX = int(DisplayWidth * 0.2) UpperLeftY = int(DisplayHeight * 0.2) 'position des écritures « position pointeur » XLigneAffichage = int(WindowWidth * 0.05) YLigneAffichage = int(WindowHeight * 0.05) 'position et dimension des zones dans lesquelles on devra détecter la souris ' on définit ici le point supérieur gauche et le point inférieur droit de la zone ' axes de référence : bords droit et haut de la fenêtre Zone1XHautGauche = int(WindowWidth * 0.3) Zone1YHautGauche = int(WindowHeight * 0.3) Zone1XBasDroite = Zone1XHautGauche + int(WindowWidth * 0.5) Zone1YBasDroite = Zone1YHautGauche + int(WindowHeight * 0.5) couleur1$ = "darkgreen" Zone2XHautGauche = int(WindowWidth * 0.15) Zone2YHautGauche = int(WindowHeight * 0.11) Zone2XBasDroite = Zone2XHautGauche + int(WindowWidth * 0.2) Zone2YBasDroite = Zone2YHautGauche + int(WindowHeight * 0.15) couleur2$ = "red" Zone3XHautGauche = int(WindowWidth * 0.09) Zone3YHautGauche = int(WindowHeight * 0.36) Zone3XBasDroite = Zone3XHautGauche + int(WindowWidth * 0.09) Zone3YBasDroite = Zone3YHautGauche + int(WindowHeight * 0.02) couleur3$ = "blue" 'ouvrir la fenêtre en mode graphique (la lecture de la souris ne marche pas en mode window 'il semblerait d'ailleurs qu'il y ait un monde entre ces deux univers) aa=280:bb=30 [go] COMBOBOX #fenetre1.ext, array$(), [event], aa, bb, 100, 100 open "souris sur zone ?" for graphics as #fenetre1 'affichage du texte "bougez la souris !" print #fenetre1, "color black" print #fenetre1, "down" print #fenetre1, "place ";XLigneAffichage;" ";YLigneAffichage print #fenetre1, "\Bougez la souris !" print #fenetre1, "up" 'dessin des zones 'zone 1 print #fenetre1, "goto ";Zone1XHautGauche;" ";Zone1YHautGauche print #fenetre1, "down" print #fenetre1, "backcolor " + couleur1$ print #fenetre1, "boxfilled ";Zone1XBasDroite;" ";Zone1YBasDroite print #fenetre1, "backcolor white" print #fenetre1, "up" 'zone 2 print #fenetre1, "goto ";Zone2XHautGauche;" ";Zone2YHautGauche print #fenetre1, "down" print #fenetre1, "backcolor " + couleur2$ print #fenetre1, "boxfilled ";Zone2XBasDroite;" ";Zone2YBasDroite print #fenetre1, "backcolor white" print #fenetre1, "up" 'zone 3 print #fenetre1, "goto ";Zone3XHautGauche;" ";Zone3YHautGauche print #fenetre1, "down" print #fenetre1, "backcolor " + couleur3$ print #fenetre1, "boxfilled ";Zone3XBasDroite;" ";Zone3YBasDroite print #fenetre1, "backcolor white" print #fenetre1, "up" print #fenetre1, "when mouseMove [souris_se_deplace]" 'pour fermer la fenêtre print #fenetre1, "trapclose [quit]" 'attente… wait 'fin du programme, au cas où... end '******** zone des sous-programmes ******** [quit] 'fermeture sans confirmation et par le gadget de fermeture de la fenetre print "[quit]" close #fenetre1 end [souris_se_deplace] X = MouseX : Y = MouseY 'le pointeur est-il dans la zone ? zone = 0 if X > Zone1XHautGauche and X < Zone1XBasDroite and Y > Zone1YHautGauche and Y < Zone1YBasDroite then zone = 1 if X > Zone2XHautGauche and X < Zone2XBasDroite and Y > Zone2YHautGauche and Y < Zone2YBasDroite then zone = 2 if X > Zone3XHautGauche and X < Zone3XBasDroite and Y > Zone3YHautGauche and Y < Zone3YBasDroite then zone = 3 select case zone case 0 afficher$ = "La souris est hors-zone " couleur$ = "black" case 1 afficher$ = "La souris est dans la zone 1 " couleur$ = couleur1$ close #fenetre1 aa=300:bb=200 goto [go] case 2 afficher$ = "La souris est dans la zone 2 " couleur$ = couleur2$ close #fenetre1 aa=100:bb=50 goto [go] case 3 afficher$ = "La souris est dans la zone 3 " couleur$ = couleur3$ close #fenetre1 aa=55:bb=150 goto [go] end select 'affichage de la position du pointeur et de l'information "en/hors zone" print #fenetre1, "color black" print #fenetre1, "place ";XLigneAffichage;" ";YLigneAffichage print #fenetre1, "\Pos X = ";X;", Pos Y = ";Y;" " print #fenetre1, "place ";XLigneAffichage;" ";YLigneAffichage + 20 print #fenetre1, "color " + couleur$ print #fenetre1, "\" + afficher$ wait
____________________
Roro
Roro
Moi, je mettrais tout en texte; si tu a 5 propositions il suffit de faire des interlignes de 2 lignes
Et tout gérer à la position souris.
Et tout gérer à la position souris.
____________________
Roro
Roro
Dans le principe, ça fonctionnerait mieux comme ça, mais il faudrait essayer de mieux contrôler le combobox...ou bien utiliser une Listbox ?
Code VB :
Edité par cassiope01 Le 14/05/2015 à 11h07
Code VB :
'détection de souris sur plusieurs zones d'une fenêtre nomainwin 'définir la fenêtre ' (dimensions modifiées par des coefficients allant de 0 à 1 inclus) 'dimensions de la fenêtre WindowWidth = int(DisplayWidth * 0.6) WindowHeight = int(DisplayHeight * 0.6) 'position de l'angle supérieur gauche de la fenêtre sur l'écran UpperLeftX = int(DisplayWidth * 0.2) UpperLeftY = int(DisplayHeight * 0.2) 'position des écritures « position pointeur » XLigneAffichage = int(WindowWidth * 0.05) YLigneAffichage = int(WindowHeight * 0.05) 'position et dimension des zones dans lesquelles on devra détecter la souris ' on définit ici le point supérieur gauche et le point inférieur droit de la zone ' axes de référence : bords droit et haut de la fenêtre Zone1XHautGauche = int(WindowWidth * 0.3) Zone1YHautGauche = int(WindowHeight * 0.3) Zone1XBasDroite = Zone1XHautGauche + int(WindowWidth * 0.5) Zone1YBasDroite = Zone1YHautGauche + int(WindowHeight * 0.5) couleur1$ = "darkgreen" Zone2XHautGauche = int(WindowWidth * 0.15) Zone2YHautGauche = int(WindowHeight * 0.11) Zone2XBasDroite = Zone2XHautGauche + int(WindowWidth * 0.2) Zone2YBasDroite = Zone2YHautGauche + int(WindowHeight * 0.15) couleur2$ = "red" Zone3XHautGauche = int(WindowWidth * 0.09) Zone3YHautGauche = int(WindowHeight * 0.36) Zone3XBasDroite = Zone3XHautGauche + int(WindowWidth * 0.09) Zone3YBasDroite = Zone3YHautGauche + int(WindowHeight * 0.08) couleur3$ = "blue" 'ouvrir la fenêtre en mode graphique (la lecture de la souris ne marche pas en mode window 'il semblerait d'ailleurs qu'il y ait un monde entre ces deux univers) aa=-480 :bb=30 dim mots$(10,3), array$(10) graphicbox #fenetre1.gra, 20,20,WindowWidth-40,WindowHeight-60 listbox #fenetre1.ext, array$(), [event], aa, bb, 100, 100 OPEN "souris sur zone ?" for window_nf as #fenetre1 #fenetre1 "trapclose [quit]" 'affichage du texte "bougez la souris !" #fenetre1.gra, "color black" #fenetre1.gra, "down" #fenetre1.gra, "place ";XLigneAffichage;" ";YLigneAffichage #fenetre1.gra, "\Bougez la souris !" 'dessin des zones 'zone 1 #fenetre1.gra, "place ";Zone1XHautGauche;" ";Zone1YHautGauche #fenetre1.gra, "backcolor " + couleur1$ #fenetre1.gra, "boxfilled ";Zone1XBasDroite;" ";Zone1YBasDroite 'zone 2 #fenetre1.gra, "place ";Zone2XHautGauche;" ";Zone2YHautGauche #fenetre1.gra, "backcolor " + couleur2$ #fenetre1.gra, "boxfilled ";Zone2XBasDroite;" ";Zone2YBasDroite 'zone 3 #fenetre1.gra, "place ";Zone3XHautGauche;" ";Zone3YHautGauche #fenetre1.gra, "backcolor " + couleur3$ #fenetre1.gra, "boxfilled ";Zone3XBasDroite;" ";Zone3YBasDroite #fenetre1.gra, "backcolor white" #fenetre1.gra "flush : discard" #fenetre1.gra, "when mouseMove [souris_se_deplace]" mot$(1,1) = "Corbeau" mot$(2,1) = "Loup" mot$(3,1) = "Renard" mot$(4,1) = "Corbeau" mot$(5,1) = "Souriceau" mot$(6,1) = "Lion" mot$(1,2) = "perché" mot$(2,2) = "en fleur" mot$(3,2) = "déraciné" mot$(4,2) = "perché" mot$(5,2) = "feuillu" mot$(6,2) = "magnifique" mot$(1,3) = "alléchée" mot$(2,3) = "rouge vif" mot$(3,3) = "bleue" mot$(4,3) = "alléchée" mot$(5,3) = "puissante" mot$(6,3) = "sereine" 'attente… wait '******** zone des sous-programmes ******** [quit] 'fermeture sans confirmation et par le gadget de fermeture de la fenetre print "[quit]" close #fenetre1 end [souris_se_deplace] X = MouseX : Y = MouseY aa=-480 :bb=30 'le pointeur est-il dans la zone ? zone = 0 if X > Zone1XHautGauche and X < Zone1XBasDroite and Y > Zone1YHautGauche and Y < Zone1YBasDroite then zone = 1 if X > Zone2XHautGauche and X < Zone2XBasDroite and Y > Zone2YHautGauche and Y < Zone2YBasDroite then zone = 2 if X > Zone3XHautGauche and X < Zone3XBasDroite and Y > Zone3YHautGauche and Y < Zone3YBasDroite then zone = 3 select case zone case 0 afficher$ = "La souris est hors-zone " couleur$ = "black" case 1 afficher$ = "La souris est dans la zone 1 " couleur$ = couleur1$ aa=Zone1XHautGauche+22 bb=Zone1YHautGauche+22 for m=1 to 6 array$(m) = mot$(m,1) next case 2 afficher$ = "La souris est dans la zone 2 " couleur$ = couleur2$ aa=Zone2XHautGauche+22 bb=Zone2YHautGauche+22 for m=1 to 6 array$(m) = mot$(m,2) next case 3 afficher$ = "La souris est dans la zone 3 " couleur$ = couleur3$ aa=Zone3XHautGauche+22 bb=Zone3YHautGauche+22 for m=1 to 6 array$(m) = mot$(m,3) next end select #fenetre1.ext "reload" #fenetre1 "refresh" 'affichage de la position du pointeur et de l'information "en/hors zone" #fenetre1.gra, "color black" #fenetre1.gra, "place ";XLigneAffichage;" ";YLigneAffichage #fenetre1.gra, "\Pos X = ";X;", Pos Y = ";Y;" " #fenetre1.gra, "place ";XLigneAffichage;" ";YLigneAffichage + 20 #fenetre1.gra, "color " + couleur$ #fenetre1.gra, "\" + afficher$ wait
Edité par cassiope01 Le 14/05/2015 à 11h07
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Ah oui, en effet.
Je pense que le soucis, c'est de vouloir s'exonérer du "clic" qui rendrait le prog statique (entre les clics)
La lecture, et donc la gestion de l'ensemble en "continu" n'est pas évidente.
Le phénomène de la zone 3 mérite l'examen
En plus, il ne faut pas perdre de vue que le nombre d'emplacements est variable.
Je pense que le soucis, c'est de vouloir s'exonérer du "clic" qui rendrait le prog statique (entre les clics)
La lecture, et donc la gestion de l'ensemble en "continu" n'est pas évidente.
Le phénomène de la zone 3 mérite l'examen
En plus, il ne faut pas perdre de vue que le nombre d'emplacements est variable.
____________________
Roro
Roro
Mince, pas le temps de dire ouf !
OK pour la graphicbox, Roland, ça m'avait échappé
Merci à vous deux pour ces recherches, c'est plus sympa à plusieurs. Chez moi les combos de cassiopee papillonnent, je suppose que c'est normal et que ce sont des cycles d'affichage-désaffichage, mais j'ai testé en vitesse et je verrais plus profondément demain.
Une idée comme ça, si ça reste trop problématique de finaliser une solution à base de combobox : maintenant que je sais détecter la présence de la souris dans une zone, je devrais pouvoir réaliser un équivalent simplifié d'une combobox, dans une combo on ne fait que garder le choix (la zone) sur lequel se trouve la souris quand on fait un clic gauche.
Ce n'est peut-être pas évident, parce qu'on ouvre autant de nouvelles zones sensibles qu'il y a de choix dans la liste, et qu'il faudra neutraliser après fermeture de la liste, mais ça me semble faisable.
Peut-être que je rêve, comme souvent^^ Il est déjà bien tard.
Bonne nuit,
Christophe.
OK pour la graphicbox, Roland, ça m'avait échappé
Merci à vous deux pour ces recherches, c'est plus sympa à plusieurs. Chez moi les combos de cassiopee papillonnent, je suppose que c'est normal et que ce sont des cycles d'affichage-désaffichage, mais j'ai testé en vitesse et je verrais plus profondément demain.
Une idée comme ça, si ça reste trop problématique de finaliser une solution à base de combobox : maintenant que je sais détecter la présence de la souris dans une zone, je devrais pouvoir réaliser un équivalent simplifié d'une combobox, dans une combo on ne fait que garder le choix (la zone) sur lequel se trouve la souris quand on fait un clic gauche.
Ce n'est peut-être pas évident, parce qu'on ouvre autant de nouvelles zones sensibles qu'il y a de choix dans la liste, et qu'il faudra neutraliser après fermeture de la liste, mais ça me semble faisable.
Peut-être que je rêve, comme souvent^^ Il est déjà bien tard.
Bonne nuit,
Christophe.
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Christophe:
Petit edit du lendemain : je dis "je", mais on pourrait bien dire "maintenant que nous savons détecter la présence de la souris", si on peut étudier à fond les combobox pour voir si elles sont utilisables ici, allons-y...
Mince, pas le temps de dire ouf !
OK pour la graphicbox, Roland, ça m'avait échappé
Merci à vous deux pour ces recherches, c'est plus sympa à plusieurs. Chez moi les combos de cassiopee papillonnent, je suppose que c'est normal et que ce sont des cycles d'affichage-désaffichage, mais j'ai testé en vitesse et je verrais plus profondément demain.
Une idée comme ça, si ça reste trop problématique de finaliser une solution à base de combobox : maintenant que je sais détecter la présence de la souris dans une zone, je devrais pouvoir réaliser un équivalent simplifié d'une combobox, dans une combo on ne fait que garder le choix (la zone) sur lequel se trouve la souris quand on fait un clic gauche.
Ce n'est peut-être pas évident, parce qu'on ouvre autant de nouvelles zones sensibles qu'il y a de choix dans la liste, et qu'il faudra neutraliser après fermeture de la liste, mais ça me semble faisable.
Peut-être que je rêve, comme souvent^^ Il est déjà bien tard.
Bonne nuit,
Christophe.
OK pour la graphicbox, Roland, ça m'avait échappé
Merci à vous deux pour ces recherches, c'est plus sympa à plusieurs. Chez moi les combos de cassiopee papillonnent, je suppose que c'est normal et que ce sont des cycles d'affichage-désaffichage, mais j'ai testé en vitesse et je verrais plus profondément demain.
Une idée comme ça, si ça reste trop problématique de finaliser une solution à base de combobox : maintenant que je sais détecter la présence de la souris dans une zone, je devrais pouvoir réaliser un équivalent simplifié d'une combobox, dans une combo on ne fait que garder le choix (la zone) sur lequel se trouve la souris quand on fait un clic gauche.
Ce n'est peut-être pas évident, parce qu'on ouvre autant de nouvelles zones sensibles qu'il y a de choix dans la liste, et qu'il faudra neutraliser après fermeture de la liste, mais ça me semble faisable.
Peut-être que je rêve, comme souvent^^ Il est déjà bien tard.
Bonne nuit,
Christophe.
Petit edit du lendemain : je dis "je", mais on pourrait bien dire "maintenant que nous savons détecter la présence de la souris", si on peut étudier à fond les combobox pour voir si elles sont utilisables ici, allons-y...
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Si on fait un "edit", le forum reproduit le message édité ???
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Si tu clique sur "bloc/crayon" dans la barre de ton pseudo, la page te présente ton message que tu peux modifier.
Et en dessous tu a un bouton "modifier" à la place de "envoyer"
Concernant le code: Pour éviter le clignotement des combos, il faut réduire la zone de détection à la surface de la combo.
C'est ce qui se passe avec la zone 3.
Mais ça ne va pas être simple de faire un nombre de zones variable.
Si on fait un "edit", le forum reproduit le message édité ???
Si tu clique sur "bloc/crayon" dans la barre de ton pseudo, la page te présente ton message que tu peux modifier.
Et en dessous tu a un bouton "modifier" à la place de "envoyer"
Concernant le code: Pour éviter le clignotement des combos, il faut réduire la zone de détection à la surface de la combo.
C'est ce qui se passe avec la zone 3.
Mais ça ne va pas être simple de faire un nombre de zones variable.
____________________
Roro
Roro
Christophe:
Petit edit du lendemain : je dis "je", mais on pourrait bien dire "maintenant que nous savons détecter la présence de la souris", si on peut étudier à fond les combobox pour voir si elles sont utilisables ici, allons-y...
Non non, tu peux dire "je" puisque Roland et moi savions déjà le faire
En y repensant je me demande si une LISTBOX ne serait-elle pas mieux appropriée ? mais bon, c'est presque pareil...
Je pense que la détection du passage de la souris ne devrait simplement QUE déterminer de nouvelles coordonnées au COMBOBOX ou à la LISTBOX:
- dès que de nouvelles coordonnées valident sont déterminées :
- on désactive la détection de la souris,
- on affiche la LISTBOX (après l'avoir mis à jour avec tous les paramètres liés à sa position dans la fable) tant que le joueur n'a pas sélectionné un mot dans la liste,
- puis on fait disparaitre la LISTBOX (en la positionnant en dehors de la fenêtre par exemple: voir mon dernier bout de code modifié... plus haut),
- on affiche le mot sélectionné,
- et on réactive la détection à la souris...
@Roland, je ne vois pas de différence de comportement entre la zone 3 et les autres ???
Roland:
Avec ma méthode des sprites il suffit de les compter à la lecture du fichier texte pour savoir le nombre de sprites à créer... On met leur n° dans leur nom et on connaitra ainsi leur n° avec SPRITECOLLIDE Curs,list$...
Ce nombre sera d'ailleurs essentiel à connaître car il conditionnera la taille de plusieures variables tableaux : les listes de mots, les coordonnées x,y de ces listes qui sont aussi celles des zones pour la souris, etc...
Bonne journée
Gilles.
Edité par cassiope01 Le 14/05/2015 à 10h50
Petit edit du lendemain : je dis "je", mais on pourrait bien dire "maintenant que nous savons détecter la présence de la souris", si on peut étudier à fond les combobox pour voir si elles sont utilisables ici, allons-y...
Non non, tu peux dire "je" puisque Roland et moi savions déjà le faire

En y repensant je me demande si une LISTBOX ne serait-elle pas mieux appropriée ? mais bon, c'est presque pareil...
Je pense que la détection du passage de la souris ne devrait simplement QUE déterminer de nouvelles coordonnées au COMBOBOX ou à la LISTBOX:
- dès que de nouvelles coordonnées valident sont déterminées :
- on désactive la détection de la souris,
- on affiche la LISTBOX (après l'avoir mis à jour avec tous les paramètres liés à sa position dans la fable) tant que le joueur n'a pas sélectionné un mot dans la liste,
- puis on fait disparaitre la LISTBOX (en la positionnant en dehors de la fenêtre par exemple: voir mon dernier bout de code modifié... plus haut),
- on affiche le mot sélectionné,
- et on réactive la détection à la souris...
@Roland, je ne vois pas de différence de comportement entre la zone 3 et les autres ???
Roland:
Mais ça ne va pas être simple de faire un nombre de zones variable.
Avec ma méthode des sprites il suffit de les compter à la lecture du fichier texte pour savoir le nombre de sprites à créer... On met leur n° dans leur nom et on connaitra ainsi leur n° avec SPRITECOLLIDE Curs,list$...
Ce nombre sera d'ailleurs essentiel à connaître car il conditionnera la taille de plusieures variables tableaux : les listes de mots, les coordonnées x,y de ces listes qui sont aussi celles des zones pour la souris, etc...
Bonne journée
Gilles.
Edité par cassiope01 Le 14/05/2015 à 10h50
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie