begin process at 2012 02 10 11:37:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Objets à insérer

 > COMPOSANT "JOYPAD"POUR FLASHCS3

COMPOSANT "JOYPAD"POUR FLASHCS3


 Information sur la source

Note :
Aucune note
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é :3 683 / 243

Auteur : top30

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
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

Les Membres Club peuvent 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++ ;

 Sources du même auteur

Source avec Zip Source avec une capture UN PACKAGE "HISTORIC" POUR GÉRER VOS COMMANDES
Source avec Zip CLASS IMAGE ET IMAGEEVENT
Source avec Zip CONSTANTE D'OBJET INMODIAFIABLE ET DÉBLOQUABLE
Source avec Zip Source avec une capture PERSONNALISATION DE COMPOSANT ET GESTION XML
Source avec Zip Source avec une capture PHP COUNTER EVOLUTION

 Sources de la même categorie

Source avec Zip Source avec une capture ANTI-FLOOD FLASH MAIL FORM V1.0 par myfayce
Source avec Zip Source avec une capture POLLKA - SONDAGE EN FLASH/PHP/XML par x_mec
Source avec Zip Source avec une capture CHARGEUR CUSTOMIZABLE par bali_balo
NETCOM : UN ENSEMBLE DE CLASS POUR NAVIGUER SUR UN SERVEUR D... par top30
Source avec Zip Source avec une capture COLORPICKER par Slagt

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture AS3 - JEU DU TAQUIN par pegase31
Source avec Zip Source avec une capture AS3 - SIMULATION DE GRILLE D'ÉDITION par pegase31
Source avec Zip DISTRIBUTION D'OBJETS par top30
Source avec Zip Source avec une capture ERYSOKOBAN V1.02 CS4 AS3 par VBtoTRASH
Source avec Zip Source avec une capture TOURNER UN OBJEC VERS LA SOURIS... par top30

Commentaires et avis

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'

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" ????

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'

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...

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

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

Peg'

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!

Commentaire de bali_balo le 17/06/2008 17:38:19

_

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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales