GESTIONNAIRE KEYBOARDEVENT (TOUCHE MULTIPLE)

top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010 - 24 févr. 2009 à 19:28
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 - 24 févr. 2009 à 20:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49344-gestionnaire-keyboardevent-touche-multiple

Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
24 févr. 2009 à 20:14
Ouh là ! Oui en effet... Qu'est ce que j'ai fait la !

Mon idée première était d'avoir une classe qui s'occupe elle même de distribuer l'évènement de façon régulière.
Le problème c'est que ce raisonnement est plus compatible avec AS2 qu'avec AS3.

L'emploi du Timer peut s'avérer utile, mais pas à l'intérieur de la classe.

Merci de me l'avoir fait remarqué, la source a été corrigé en conséquence.
Bien qu'elle soit largement allégée, elle reste, je pense, utile ("j'espère"... plutôt :D)

Bon au moins, elle peut toujours servir pour découvrir que l'on peut créer ces propres évènements ;)

Merci encore TOP30 :)
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
24 févr. 2009 à 19:28
Pourquoi l'utilisation d'un "Timer" ???

KeyboardProcess ( repeat:Boolean )
-> addMultiKeyEvent( [keysList], handler );


stage.addEventListener( "up", processKeyUp ) ;
stage.addEventListener( "down", processKeyDown ) ;

KeyboardProcess.processKeyDown( e )
-> pressKeys[e.keyCode]= true ;
for each( multiKeys in multiKeysList )
for each( key in multiKeys )

pressed= 0
if( pressKey[key] ) pressed++ ;
if( pressed== multiKeys.length )

if( repeat )
DISPATCHER EVENT TOUTES KEY DEMANDE PRESSËE
else
if( !dispatched[multiKeys] )
dispatched[multiKeys]= true
DISPATCHER EVENT TOUTES KEY DEMANDE PRESSËE

KeyboardProcess.processKeyUp( e )
-> DELETE pressKeys[e.keyCode] ;

Ou quelquechose comme ca...
Rejoignez-nous