CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Créer des boutons (c++ pour dos)

Timidouveg
Timidouveg
Niveau 2
23 janvier 2005 à 11:06:20

Salut,

Voilà, j´aimerais créer des boutons qui ne s´active que si on clic puis en relache le clic sur le bouton.
Si on enfonce en dehors du bouton et on relache sur le bouton, ça ne doit pas fonctionner.
Si on enfonce sur le bouton et relache en dehors, non plus.
Il faut absoluement enfoncer puis relacher pour activer le bouton.

Comment faire cela ? J´utilise Allegro, dedans il y a des actions bouton enfoncés et relacher, mais je ne sais pas les utiliser pour avoir ce résultat.

A bientôt :)

Vengeur41
Vengeur41
Niveau 10
23 janvier 2005 à 12:09:01

Euh...
Tu devrais laisser Allegro pour utiliser SDL ( jeux) ou GTK ( gui)

Timidouveg
Timidouveg
Niveau 2
23 janvier 2005 à 21:13:31

Avec Allegro, j´ai déjà très bien avancé dans mon projet de jeu, j´ai déjà conçu un éditeur de carte 2d isométrique. Ce n´est pas le moment de changer de librairie, d´autant que je suis très à l´aise avec Allegro.

J´ai besoin de ce renseignement pour les boutons de l´éditeurs et du jeu.
Quelqu´un aurait-il la solution ?

dnob700
dnob700
Niveau 10
23 janvier 2005 à 22:52:23

c++ pour dos ?

sinon avec win32 ce que tu décrit est le fonctionnement par défaut des boutons ( enfin dans la plupart des cas), dobnc essaye avec moi j´aime bin en tout cas ça mache bien et c´est performant.

XyTiX
XyTiX
Niveau 8
24 janvier 2005 à 09:13:00

le pauvre il pose une question pour c++ pour DOS il a 2 réponses qui lui disent qu´on peut le faire avec un autre langage ! Il doit être trop heureux. Bon moi je peux pas t´aider dsl... Mais si tu veux je t´explique en php GTK ?

JeanYvesYves
JeanYvesYves
Niveau 10
24 janvier 2005 à 09:13:28

tres bien allegro :) moi je ne connais pas tres bien, mais j´en ai entendu du bien :)

de façon algorithmique : il y a plusieurs manieres de faire :

une maniere :
tu ne testes pas le clic, mais le relachement du clic :
des que tu laches le clic ( tu dois pouvoir le détecter), tu regardes au dessus de quel bouton tu es, et si tu es au dessus d´un bouton, tu le valides...

Timidouveg
Timidouveg
Niveau 2
24 janvier 2005 à 13:10:32

Merci JeanYvesYves,

Je vais essayer comme-ça, mais je ne promets rien parce que je ne sais pas utiliser les actions bouton enfoncé et relaché de allegro, parce que la doc technique n´est pas clair sur ce point.

Enfin, je vais essayer cette méthode et peut-être que j´arriverais à les utiliser, je vous dirais quoi.

A bientôt :)

dnob700
dnob700
Niveau 10
24 janvier 2005 à 22:11:36

XyTiX : je ne lui est pas répondu ( ni vengeur non plus) d´utiliser d´autre langage.

on lui proposait juste des librairie pour le faire.

je me demandais aussi ce que voulais dire C++ pour dos, parce que ce n´est pas un logiciel ni un langage.

cobradu94
cobradu94
Niveau 6
24 janvier 2005 à 22:22:41

je connais moyennement allegro, mais n´ayant jamais utiliser la souris jpeux quand meme te conseiller le principe. Deja pour tester si le bouton est relacher, je pense que dans le if ou tu met si il est enfoncer tu met un ! devant qui signifie diferent donc si il n´est pas enfoncer(enfin je pense, sa marche pour le clavier) et apres tu fais comme jyy a dit, tu test la position de x et y de la souris, tu test si ta appuyer dedans et relacher dedans, exemple tu teste si le x et sur le bouton quand tu a cliquer puis tu test si il est encore dessu si tu a cliquer, si il n´est plus dessus et bien tu fais un break;
je sais pas si j´etais asser claire :)

Vengeur41
Vengeur41
Niveau 10
25 janvier 2005 à 14:49:41

Je connais suffisemment Allegro pour dire que SDL est bien mieux ( et sous Windows/Linux/sun/BSD/Irix ect.. en plus, au lieu de DOS/Linux)

Timidouveg
Timidouveg
Niveau 2
25 janvier 2005 à 14:53:36

A y est, j´ai réussi :)
J´ai fais un prototype de bouton qui considère comme valide, uniquement un clic complet sur le bouton. Lorsque le clic ou une partie du clic se fait à l´exterieur, l´action est invalide.
Ce bouton utilise 3 états, la valeur d´une variable nommé " clic" passe de 0 à une valeur positive ou négative. Grâce à la différenciation du positif et du négatif, le relachement prend en compte le prédédent enfoncement sur le bouton et jamais en dehors. Le 0 correspond au fait que le curseur n´est pas sur un bouton ou encore au clic relaché sur le bouton avant tout action de la part de l´utilisateur.
La valeur positive ou négative correspond au numero du bouton, ainsi il est possible de créer plusieurs boutons sans recopier le programme. Le programme gère autant de bouton que l´on veut en changeant automatiquement le numero selon la zone où se trouve le curseur.

Merci beaucoup pour votre aide.
Je ne sais pas si l´algorythme de mon prototype est le plus simple, mais en tout cas, il fonctionne et n´est pas trop imposant. Je n´ai plus qu´à l´integrer dans mon éditeur de carte et mon futur jeu.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment