FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Utiliser key_up_code et key_down_code en mode direct Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Utiliser key_up_code et key_down_code en mode direct Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Utiliser key_up_code et key_down_code en mode direct Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Utiliser key_up_code et key_down_code en mode direct Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Utiliser key_up_code et key_down_code en mode direct Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Utiliser key_up_code et key_down_code en mode direct Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Utiliser key_up_code et key_down_code en mode direct Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Utiliser key_up_code et key_down_code en mode direct Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Utiliser key_up_code et key_down_code en mode direct Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Utiliser key_up_code et key_down_code en mode direct Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Utiliser key_up_code et key_down_code en mode direct Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Utiliser key_up_code et key_down_code en mode direct Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Utiliser key_up_code et key_down_code en mode direct Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Utiliser key_up_code et key_down_code en mode direct Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Utiliser key_up_code et key_down_code en mode direct Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-14%
Le deal à ne pas rater :
Lave-linge hublot HOOVER HWP 10 kg (Induction, 1600 trs/min, Classe ...
299.99 € 349.99 €
Voir le deal

 

 Utiliser key_up_code et key_down_code en mode direct

Aller en bas 
AuteurMessage
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Utiliser key_up_code et key_down_code en mode direct Empty
MessageSujet: Utiliser key_up_code et key_down_code en mode direct   Utiliser key_up_code et key_down_code en mode direct EmptySam 3 Déc 2011 - 9:47

Bonjour amis panoramiciens, Very Happy

Au sujet de key_up_code et key_down_code, dans le prog ci-après (fourni par jimx78), on utilise le mode évènementiel avec les instructions on key_up_code et on_key_down_code. Ceci est très interressant car cela nous permet d'utiliser 2 touches à la fois pour obtenir une trajectoire différente pour le cube.
Code:
' Utilisez les touches fléchés
full_space 0
label prog , touche_enfoncer , touche_lacher
dim touche_gauche , touche_haut , touche_droit , touche_bas : ' déclaration de tes touches
dim vitesse
vitesse=0.03
scene3D 1 : full_space 1 : color 1,0,0,255
3d_cube 1,1 : 3d_rotate 1,0,45,0
timer 2 : timer_interval 2,1 : on_timer 2,prog
on_key_down 0,touche_enfoncer : ' evenement si on enfonce une touche
on_key_up 0,touche_lacher : ' evenement si on lache une touche
end

prog:
if key_down_code=27 : ' quitter
timer_off_all
terminate
end_if

if touche_haut=1  : ' si touche haut alors... c'est ici !!!
3d_move 1,vitesse
end_if
if touche_bas=1
3d_move 1,0-vitesse
end_if
if touche_gauche=1
3d_y_rotate 1,o3d_y_rotate(1)+2
end_if
if touche_droit=1
3d_y_rotate 1,o3d_y_rotate(1)-2
end_if
return

' ci-dessous permet de verrifier si la touche a été enfoncer,
' la variable prend alors 1 comme valeur si elle est enfoncer
touche_enfoncer:
if key_down_code = 37 then touche_gauche=1
if key_down_code = 38 then touche_haut=1
if key_down_code = 39 then touche_droit=1
if key_down_code = 40 then touche_bas=1
return

' ci-dessous permet de verrifier si la touche a été lacher,
' la variable prend alors 0 comme valeur
touche_lacher:
if key_up_code = 37 then touche_gauche=0
if key_up_code = 38 then touche_haut=0
if key_up_code = 39 then touche_droit=0
if key_up_code = 40 then touche_bas=0
return
Mais certains programmes comme celui du labyrinthe (que vous trouverez sur ce forum rubrique vos sources, vos utilitaires à partager) ne nécessite qu'un seul déplacement sur une seule trajectoire, et pour cela l'instruction scancode convient parfaitement. On pourrait tout aussi bien utiliser le code ci-dessus.
Alors, je me suis posé la question si je ne pouvais pas utiliser les instructions key_up_code et key_down_code en mode direct comme scancode sans passer par le mode évènementiel.
Code:
REM Utilisez les touches fléchés
full_space 0
label prog,fin
dim touche
dim vitesse:vitesse=0.03
scene3D 1 : full_space 1 : color 1,0,0,255:3d_cube 1,1 : 3d_rotate 1,0,45,0
timer 2 : timer_interval 2,10 : on_timer 2,prog
end

prog:
if key_down_code=27 then goto fin

' if key_down_code <> 0 then touche=1
' if key_up_code = key_down_code then touche=0

' if touche=1
  if key_down_code = 38
      3d_move 1,vitesse
  end_if

  if key_down_code = 40
      3d_move 1,0-vitesse
  end_if

  if key_down_code = 37
      3d_y_rotate 1,o3d_y_rotate(1)+2
  end_if

  if key_down_code = 39
      3d_y_rotate 1,o3d_y_rotate(1)-2
  end_if
' end_if
return

fin:
timer_off_all
terminate
Dès que vous appuyez sur une touche flèchée votre cube se déplace, et continue la même trajectoire si vous relachez la touche, jusqu'à ce que vous appuyez sur une autre touche flèchée pour le faire changer de direction. C'est normal puisque key_down_code contient toujours la même valeur.
Maintenant, si vous activez les lignes de rem en enlevant les apostrophes, dès que vous relachez la touche, le cube s'arrête. Mais le problème est que si vous voulez rappuyer sur la même touche, le cube n'avance pas ou ne tourne pas. il vous faut appuyer sur une autre touche.
Pensez-vous qu'il soit possible de trouver une solution satisfaisante à ce problème.

Merci à tous de votre attention. Wink
Revenir en haut Aller en bas
 
Utiliser key_up_code et key_down_code en mode direct
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment utiliser DLL_CALL0 ?
» Comment utiliser SHOW_MODAL ?
» Clic et clac --> direct les jeux
» Positionnement direct dans les fichiers
» Où utiliser la commande DISPLAY ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: