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
» Gestion d'un système client-serveur.
Utiliser key_up_code et key_down_code en mode direct Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Utiliser key_up_code et key_down_code en mode direct Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Utiliser key_up_code et key_down_code en mode direct Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Utiliser key_up_code et key_down_code en mode direct Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Utiliser key_up_code et key_down_code en mode direct Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Utiliser key_up_code et key_down_code en mode direct Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Utiliser key_up_code et key_down_code en mode direct Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Utiliser key_up_code et key_down_code en mode direct Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Utiliser key_up_code et key_down_code en mode direct Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Utiliser key_up_code et key_down_code en mode direct Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Utiliser key_up_code et key_down_code en mode direct Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Utiliser key_up_code et key_down_code en mode direct Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Utiliser key_up_code et key_down_code en mode direct Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Utiliser key_up_code et key_down_code en mode direct Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Utiliser key_up_code et key_down_code en mode direct Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-45%
Le deal à ne pas rater :
PC Portable LG Gram 17″ Intel Evo Core i7 32 Go /1 To
1099.99 € 1999.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 : 66
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 ?
» Gestion fichier accès direct
» Clic et clac --> direct les jeux
» 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: