Petit Computer France
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-15%
Le deal à ne pas rater :
(Adhérents Fnac) LEGO® Star Wars™ 75367 Le croiseur d’assaut de ...
552.49 € 649.99 €
Voir le deal

[Tutoriel]Gestion des touches + effacer l'écran

3 participants

Aller en bas

[Tutoriel]Gestion des touches + effacer l'écran Empty [Tutoriel]Gestion des touches + effacer l'écran

Message par RayTro Mer 21 Aoû - 19:52

Bon, j'ai totalement zappé de vous parler des commandes qui effacent l'écran, je vais donc commencer par ça :
Mise à jour (merci à J8B pour la correction) :
-CLEAR c'est pour effacer la mémoire donc mettre vos variables à 0.
-CLS efface l'écran du texte.
-GCLS efface l'écran graphique.
-SPCLR efface les sprites à l'écran.
-BGCLR efface le background.
-ACLS (probablement traduisible par "Clear All"), qui efface l'écran du texte, l'écran graphique, le background et les sprites. Elle est la combinaison des 4 commandes au dessus.
Ancien tuto (peut comporter des erreurs):

Sur ce, passons maintenant à la gestion des touches :
Mise à jour (merci à J8B pour la correction) :
La commande pour avoir les touches s'appelle BUTTON()
elle possède 4 modes allant de 0 à 3, par défaut c'est le mode 0 qui est employé, car BUTTON() = BUTTON(0)
les 4 modes sont les suivants : Tenu ; Répété ; Appuyé ; Relâché.
-BUTTON() renvoie la valeur des touches appuyées au moment où la fonction est appelée.
-BREPEAT permet d'activer BUTTON(1) (bouton répété, un mode turbo si vous préférez).
-BTRIG() correspond à BUTTON(2) et renvoie quelle touche vient d'être appuyée (s'il y en a une) sur le moment de l'appel de cette fonction.
-Quant à BUTTON(3), il fait la même chose que pour BUTTON(2) (ou BTRIG() ) sauf qu'il renvoie les boutons venant d'être relâchés.
Ancien tuto (peut comporter des erreurs):
Pour ce qui est des valeurs renvoyées par ces fonctions :
Si on appuie sur plusieurs touches en même temps, les valeurs des touches s'additionnent, et le système est fait de telle sorte que chaque touche peut être comparée à une valeur binaire, la touche B équivaut à 32, donc 100000 en binaire ; A équivaut à 16, donc 010000 ; la touche droite équivaut à 8, donc 001000, et si on appuie sur les trois en même temps on obtient 56, donc 111000 en binaire.

Vu que ces commandes sont en fait des variables système, il est possible de s'en servir comme tout autres variables, exemples :
Code:
IF BUTTON()==16 THEN GOSUB @SAUT
G=BUTTON()
Enfin, Sachez que j'ai créé spécialement pour vous, pour ce tutoriel, un petit utilitaire très sympa qui permet de connaître la valeur des touches, je vous renvoie vers la page contenant la description et le QR-Code de l'utilitaire (en plus il est très léger : vous n'aurez besoin de photographier qu'un seul QR-Code pour l'avoir).
Cliquez ici pour aller vers la page de l'utilitaire

N'hésitez pas à lire le code de mon utilitaire afin de vous aider à décortiquer les touches appuyées par l'utilisateur, vous pouvez même le recopier si l'envie vous prend !


Dernière édition par RayTro le Mar 12 Aoû - 19:54, édité 1 fois
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Tutoriel]Gestion des touches + effacer l'écran Empty Re: [Tutoriel]Gestion des touches + effacer l'écran

Message par Invité Mar 12 Aoû - 12:59

Mais le BUTTON() ne posent il pas des problemes d'identification ?
Par exemple si presse deux fois A, le BUTTON ne lira il pas A,B ?

Invité
Invité


Revenir en haut Aller en bas

[Tutoriel]Gestion des touches + effacer l'écran Empty Re: [Tutoriel]Gestion des touches + effacer l'écran

Message par RayTro Mar 12 Aoû - 15:18

J'ai pas tellement compris ce que tu voulais dire mais il contient constamment quelle touche est appuyée. Quand tu lis la variable il te donne les touches appuyées à l'instant où elle est demandée. Si tu veux détecter l'appui répétée de touches il faudra que tu codes toi même.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Tutoriel]Gestion des touches + effacer l'écran Empty Re: [Tutoriel]Gestion des touches + effacer l'écran

Message par Adriendu92 Mar 12 Aoû - 15:58

Code:
clear:cls
@boucle
wait 1
if button() and 16 and app==0 then a=a+1:att=20:app=1
if button() ==0 then app==0
att=att -1
if att==0 then a=0
if att==-1 then att=0
goto @boucle
Voila pour tester l'appui répété de la touche a teste la variable a pour savoir le nombre de fois appuyé et si on attend trop a se réinitialise !!


Dernière édition par Adriendu92 le Mar 12 Aoû - 18:53, édité 1 fois
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Tutoriel]Gestion des touches + effacer l'écran Empty Re: [Tutoriel]Gestion des touches + effacer l'écran

Message par J8B Mar 12 Aoû - 18:31

En fait ce tutoriel mérite bien d'avoir un petit coup de balai. Il est plutôt vieux et pas complet.
CLEAR c'est pour effacer la mémoire donc mettre vos variables à 0.
Il faudrait rajouter ACLS qui efface l'écran du texte, de l'écran graphique, des sprites et du background. Il est donc la combinaison de CLS:GCLS:SPCLR:BGCLR.
Tiens BGCLR est à rajouter aussi (efface le background, le décor si vous préférez).
BUTTON() possède 4 modes allant de 0 à 3. (tenu,répété,appuyé,relâché).
BUTTON() correspond à BUTTON(0). (bouton tenu ou laissez appuyé)
BTRIG() est la même chose que BUTTON(2). (bouton appuyé).
On pourrait aussi rajouter BREPEAT qui permet d'activer BUTTON(1) (bouton répété, un mode turbo si vous préférez).
Référez vous à mon utilitaire d'aide en même temps que vous regardez les tuto, ça peut vous aider si vous avez du mal à comprendre certaine chose.

Adriendu92 a écrit:
If button() ==0 then app==0
Att ==att -1
Attention t'as mis == au lieu de =. Corrige aussi la majuscule.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]Gestion des touches + effacer l'écran Empty Re: [Tutoriel]Gestion des touches + effacer l'écran

Message par RayTro Mar 12 Aoû - 19:56

Voilà, j'ai modifié vite-fait le tuto, j'espère ne pas avoir laissé trainer d'autres erreurs. Wink
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Tutoriel]Gestion des touches + effacer l'écran Empty Re: [Tutoriel]Gestion des touches + effacer l'écran

Message par Invité Lun 18 Aoû - 19:32

Pour ma part, j'ai compris ce sur quoi je bloquai...

Invité
Invité


Revenir en haut Aller en bas

[Tutoriel]Gestion des touches + effacer l'écran Empty Re: [Tutoriel]Gestion des touches + effacer l'écran

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum