Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMPOSANT "JOYPAD"POUR FLASHCS3


Information sur la source

Catégorie :Objets à insérer Classé sous : jeu, joypad, controle, facile, FlashCs3 Niveau : Initié Date de création : 14/06/2008 Date de mise à jour : 15/06/2008 00:03:17 Vu / téléchargé: 2 500 / 188

Note :
Aucune note

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note


Description

Je me suis toujours demandé si je serais capable de créer un composant qui avec le temps pourrait devenir un standart. Mais quel type de composant ? Mais comment partager son travail sans se le faire voler ? C'est impossible... On peut limiter la casse mais rien de plus réellement.

Donc pas grave je prend le risque.

Le composant est livrée avec 3 Fla expliquant sont fonctionnement.
Plus d'infomations au fur et à mesure. Désolé manque de temps...

 

Source

  • hope.games.joypad.Joypad
  • |_JoypadKey
  • hope.games.events.JoypadEvent
  • |_JoypadKeyEvent
  • |_JoypadStickEvent
  • On va donc essayer d'expliquer comment cela fonctionne :
  • 1/ Joypad est donc un composant AS3 qu'il vous faut posséder dans la bibliothèque du Fla l'utilisant.
  • 2/ Le chemin du package et son contenu étant décris ci-dessus.
  • 3/ L'importation se faisant de faÇon classique : "import hope.games.joypad.Joypad"
  • 4/ Le composant répondant aux appels claviers, il faut donc le connecter à un objet "visuel". J'ai personnelement choisi, dans le cas de ce composant, l'objet "stage".
  • 5/ Une fois "connecter", l'instance Joypad se chargera d'émettre des évents "touche" correspondant.
  • 6/ Chaque touche pouvant mémoriser son "temps de pression" et ainsi indiquer le temps restant avant de revenir à un état "initial".
  • 7/ Les touches "left, up, right and down" étant l'équivalent d'un pad sur un Joypad.
  • 8/ Les touches "console, select et start", ne fonctionnant elles, comme des touches traditionnelles. la seule différence étant que une fois maintenue pressées, elles n'emette plus d¡event "keyDown".. Elle émettront simplement l'event suivant : "keyUp".
  • 9/ L'ensemble des touches (et du Joypad) essayant de rester "adpatable" aux besoins de tout à chacun.
  • Voici la structure d'une instance "Joypad":
  • // la vitesse d'émission des évènements. Par default : 25 ms.
  • var speed :uint ;
  • // Si est en train d'écouter un objet "stage".
  • var connected :Boolean ;
  • // Permet à l'instance de répondre aux entrées clavier.
  • function connect( stage:Stage ) ;
  • // Emmet un event "JoypadEvent.CONNECT"
  • // Arrête l'écoute des évènements clavier,
  • function disconnect():void ;
  • // Emmet un event "JoypadEvent.DISCONNECT"
  • // Indique à l'instance d'appuyez sur une touche.
  • // Son utilisation étant plus adaptée à la "manipulation" d'une instance vià une AI.
  • function press( key:JoypadKey ):void ;
  • // Emmet un event "JoypadKeyEvent.DOWN"
  • // Indique à l'instance de relacher une touche.
  • // Son utilisation étant plus adaptée à la "manipulation" d'une instance vià un AI.
  • function release( key:JoypadKey ):void;
  • // Emmet un event "JoypadKeyEvent.UP"
  • // Si posséde l'isntance passée
  • function hasKey( key:JoypadKey ):Boolean ;
  • // Ajoute un nouvelle touche au "joypad"
  • function addKey( key:JoypadKey ):Boolean ;
  • // Retire un touche de l'instance
  • function removeKey( key:JoypadKey ):Boolean ;
  • // Si la touche passée est actuellement pressée
  • function isDown ( key:JoypadKey ):Boolean ;
  • // Retourne l'instance Joypadkey correspondant au nom passée.
  • function getKeyName( name:String ):JoypadKey;
  • // Retourne l'instance Joypadkey correspondant au "keyCode" passée.
  • function getKeyCode( code:int ):JoypadKey;
  • // Retourne un evenement "JoypadStickEvent" (de type "infos") correspondant aux
  • // attributs des touches directionnelles au moment de l'appel de la fonction.
  • function getStickEvent( type:String='infos' ):JoypadStickEvent ;
  • Si vous restez appuyez sur une touche d'une instance Joypad, et que la valeur "dispatchEvent"(Boolean) de la tocuhe pressée est sur true, alors le Joypad émettra tout le temps de la pression, un event "JoypadKeyEvent.CHANGE".
hope.games.joypad.Joypad
                |_JoypadKey

hope.games.events.JoypadEvent
                |_JoypadKeyEvent
                |_JoypadStickEvent


On va donc essayer d'expliquer comment cela fonctionne :

1/ Joypad est donc un composant AS3 qu'il vous faut posséder dans la bibliothèque du Fla l'utilisant.
2/ Le chemin du package et son contenu étant décris ci-dessus.
3/ L'importation se faisant de faÇon classique : "import hope.games.joypad.Joypad"
4/ Le composant répondant aux appels claviers, il faut donc le connecter à un objet "visuel". J'ai personnelement choisi, dans le cas de ce composant, l'objet "stage".
5/ Une fois "connecter", l'instance Joypad se chargera d'émettre des évents "touche" correspondant.
6/ Chaque touche pouvant mémoriser son "temps de pression" et ainsi indiquer le temps restant avant de revenir à un état "initial".
7/ Les touches "left, up, right and down" étant l'équivalent d'un pad sur un Joypad.
8/ Les touches "console, select et start", ne fonctionnant elles, comme des touches traditionnelles. la seule différence étant que une fois maintenue pressées, elles n'emette plus d¡event "keyDown".. Elle émettront simplement l'event suivant : "keyUp".
9/ L'ensemble des touches (et du Joypad) essayant de rester "adpatable" aux besoins de tout à chacun.


Voici la structure d'une instance "Joypad":

// la vitesse d'émission des évènements. Par default : 25 ms.
var speed :uint ;

// Si est en train d'écouter un objet "stage".
var connected :Boolean ;

// Permet à l'instance de répondre aux entrées clavier.
function connect( stage:Stage ) ;
// Emmet un event "JoypadEvent.CONNECT"

// Arrête l'écoute des évènements clavier,
function disconnect():void ;
// Emmet un event "JoypadEvent.DISCONNECT"

// Indique à l'instance d'appuyez sur une touche.
// Son utilisation étant plus adaptée à la "manipulation" d'une instance  vià une AI.
function press( key:JoypadKey ):void ;
// Emmet un event "JoypadKeyEvent.DOWN"

// Indique à l'instance de relacher une touche.
// Son utilisation étant plus adaptée à la "manipulation" d'une instance  vià un AI.
function release( key:JoypadKey ):void;
// Emmet un event "JoypadKeyEvent.UP"

// Si posséde l'isntance passée
function hasKey( key:JoypadKey ):Boolean ;

// Ajoute un nouvelle touche au "joypad"
function addKey( key:JoypadKey ):Boolean ;

// Retire un touche de l'instance
function removeKey( key:JoypadKey ):Boolean ;

// Si la touche passée est actuellement pressée
function isDown ( key:JoypadKey ):Boolean ;

// Retourne l'instance Joypadkey correspondant au nom passée.
function getKeyName( name:String ):JoypadKey;

// Retourne l'instance Joypadkey correspondant au "keyCode" passée.
function getKeyCode( code:int ):JoypadKey;

// Retourne un evenement "JoypadStickEvent" (de type "infos") correspondant aux
// attributs des touches directionnelles au moment de l'appel de la fonction.
function getStickEvent( type:String='infos' ):JoypadStickEvent ;

Si vous restez appuyez sur une touche d'une instance Joypad, et que la valeur "dispatchEvent"(Boolean) de la tocuhe pressée est sur true, alors le Joypad émettra tout le temps de la pression, un event "JoypadKeyEvent.CHANGE".

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

14 juin 2008 23:02:32 :
__description++ ;
14 juin 2008 23:50:07 :
__explications++ ;
15 juin 2008 00:03:17 :
__explications++ ;

Commentaires et avis

signaler à un administrateur
Commentaire de pegase31 le 14/06/2008 18:04:11 administrateur CS

Amusant, mais la visualisation des touches du clavier sont configurées pour un QWERT* ... or sur un AZERTY, les touches ne sont pas au bon endroit.
Mais je pense que je pinaille un tantinet ;)

Peg'

signaler à un administrateur
Commentaire de top30 le 14/06/2008 21:51:35

Interessant ta remarque !
C'est justement fait pour ne pas tenir compte du type du clavier.
Ni qwerty, ni azerty, ti africany.. Ca utilise (en thérorie) le code des touches et non leur valeur de retour....Peut tu être plus "précis" ????

signaler à un administrateur
Commentaire de pegase31 le 14/06/2008 23:40:01 administrateur CS

ben quand tu regardes les touches du clavier qui sont colorées de l'animation KeysVisualisation.swf, sur un clavier azerty, la touche à gauche du E (le Z, donc) ne fonctionne pas et il faut taper sur la touche W se situant en bas (2 touches à droite du Shift-G) pour activer la direction Haut.
C'est d'ailleurs comme ça que j'ai découvert que tu était en QWERT* ... ;)
Et même problème pour le A/Q ...

Passe ton clavier en AZERTY sous ton os pour tester ...

Peg'

signaler à un administrateur
Commentaire de top30 le 14/06/2008 23:57:26

OK !!!
Donc je confirme, les évènements du clavier ne sont pas "logiques".
La valeur "keyCode" est DIFFERENTE selon le type du clavier. Choses non normale vue que ce c'est la valeur "charCode" qui devrait "contenir" la différence selon.
Bref, ceci-n'empechant pas le bon fonctionnement du composant, ca gene juste l'utlisation des explications.
En tout cas merci pour l'intervention...

signaler à un administrateur
Commentaire de pegase31 le 15/06/2008 00:21:50 administrateur CS

si j'ai pu t'être utile, j'en suis content ;)

Peg'

signaler à un administrateur
Commentaire de bali_balo le 17/06/2008 17:37:55

J'ai pas regardé le composant en détail, mais ça à l'air utile, comme toute tes sources :)
"Mais comment partager son travail sans se le faire voler ?"
C'est pour cela que je n'ose plus poser de source sur le net, en particulier sur ce site :S
Les manques en freelance ou autre se font du profits sur des trucs sont censés être à but non commercial. Moi pour mes swf j'utilise des obfuscateurs.

Bref, sinon pour ceux que ça intéresserait, il existe un logiciel qui s'appelle JoyToKey: "http://www.electracode.com/4/joy2key/JoyToKey%20English%20Version.htm" qui permet d'associer les touches de son Joystick ou de sa manette aux touches de clavier.
C'est génial sur des jeux en Flash :D, moi qui en développe pour ma boite, quand il s'agit de les tester : mode chaise allongée et joystick à la main ^^, enfin pas pour tous :P

Ciao à tous!

signaler à un administrateur
Commentaire de bali_balo le 17/06/2008 17:38:19

_

signaler à un administrateur
Commentaire de bali_balo le 17/06/2008 18:14:16

Bon, aller, en fin de semaine je balance une source en AS3 qui permet de gérer les rentrées et sorties du pointeur dans une fenêtre SWF.

bali_balo....=]

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Jeu online [ par Mephyston ] Bonjour,Je suis un debutant en flash et je voudrais savoir s'il est facile d'implementer un jeu pour mettre sur un site qui permettrait a deux personn petit problème ^^ [ par tama2 ] Bonjour à tous, j'ai un petit problème avec mon flash, j'viens de débuter il y a à peine quelques jours, c'est pour ça que le code risque d'être très bouton play-pause (controle de video) [ par ethanwissing ] Bonjour a tous !Je cherche désesperement  a controller une video.flv (importée sur ma scene) via un bouton play-pause.Comment dois-je procéder ?Merci Jeu des 7 erreurs [ par sabinep38 ] Bonjour, je recherche un code permettant de créer un jeu style "le jeu des 7 erreurs" (à gauche, image originale, et à droite image modifiée). Je ne p Controle champs formulaire mail [ par yucki ] Bonjour,J'ai un formulaire dans le SWF pour envoyer des mails via php. J'ai 4 champs: nom, mail, telephone et message.J'aimerais faire un controle du jeu de cartes [ par FannyC ] Bonjour, Je suppose que je manque cruellement d originalité... Mais est-ce que quelqu'un aurez la gentillesse de m'aider. Je souhaite créer un jeu de Mini projet de "rpg" [ par FlashGabZ ] Bonjour à tous,Avant tout un énorme merci à la communauté FlashKod, formidable source d'information qui m'a accompagné dans mes premiers pas avec flas jeu de cartes [ par FannyC ] Bonjour, voilà une semaine que je débute en flash et c est encore galère... Bon alors j'ai a peu près réussi avec mon jeu de carte (mais que pour une jeu de cartes [ par FannyC ] petite erreur de script... Il me dit: "**Avertissement** Séquence = distribuer, calque = jeu, image = 54 :Ligne 1 : L'identifiant non sensible à la ha Jeu en Flash avec XMLSocket??? [ par arnaud2525 ] Bonjour!J' aimerais faire une sorte de jeu en flash, on déplace son personnage. J' aimerais que plusieurs personnes puissent y jouer en même temps, qu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,732 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.