Les plats clés
- L'API GamePad, une norme proposée du W3C, fournit une API cohérente entre les navigateurs pour connecter des périphériques d'entrée de jeu comme un contrôleur Xbox à un ordinateur pour des expériences basées sur le navigateur.
- L'API GamePad offre une flexibilité et donne accès aux boutons et aux axes avec des valeurs normalisées, et l'objet GamePad propose des informations détaillées sur le fabricant et le modèle de GamePad connectés.
- Le PXGAMEPAD est une classe d'assistance qui fournit une représentation de niveau supérieur d'une manette de jeu standard comme le contrôleur Xbox One, cartographiant le bouton et les indices d'axe à des noms familiers comme étiqueté sur le contrôleur Xbox.
- Bien que l'API de GamePad soit capable de prendre en charge plusieurs joueurs avec leurs propres GamePads, les améliorations futures pourraient permettre aux utilisateurs de remédier ou de personnaliser les fonctions de bouton sur leurs GamePads, et l'API offre un potentiel pour des scénarios non-jeu comme la manipulation et la navigation des modèles 3D 3D .
Cet article fait partie d'une série de développement Web de Microsoft. Merci de soutenir les partenaires qui rendent le point de point possible.
Les jeux sur le Web ont parcouru un long chemin avec des technologies HTML5 comme Canvas, WebGL et WebAudio. Il est désormais possible de produire des graphiques et du son à haute fidélité au sein du navigateur. Cependant, pour offrir une véritable expérience de jeu, vous avez besoin de dispositifs d'entrée conçus pour les jeux. L'API GamePad est une norme proposée du W3C et est conçue pour fournir une API cohérente entre les navigateurs.
L'API GamePad permet aux utilisateurs de connecter des appareils comme un contrôleur Xbox à un ordinateur et de les utiliser pour des expériences basées sur le navigateur! Si vous avez un GamePad, essayez de le brancher sur votre ordinateur, puis appuyez sur un bouton. Vous verrez le contrôleur Xbox ci-dessous pour refléter chaque mouvement que vous faites!

Essayez-le de manière interactive ici.
Ce tutoriel est le troisième d'une série sur Flight Arcade - conçu pour démontrer ce qui est possible sur la plate-forme Web et dans le nouveau navigateur Microsoft Edge et le moteur de rendu Edgehtml. Vous pouvez trouver les deux premiers articles sur WebGL et API Web, ainsi que du code interactif et des exemples pour cet article sur flightarcade.com.
[YouTube xyaq9tpmxra]API flexible
L'API GamePad est intelligemment conçue avec une flexibilité à l'esprit. À un niveau de base, il donne accès aux boutons et aux axes. Les valeurs de bouton varient de [0 .. 1] tandis que les axes vont de [-1 .. 1]. Toutes les valeurs sont normalisées à ces plages afin que les développeurs puissent s'attendre à un comportement cohérent entre les appareils.
L'objet GamePad fournit des informations détaillées sur le fabricant et le modèle du GamePad connecté. Plus utile est une propriété de cartographie qui décrit le type général de GamePad. Actuellement, le seul mappage pris en charge est standard, ce qui correspond à la disposition du contrôleur utilisé par de nombreuses consoles de jeu populaires comme la Xbox.
Le mappage du contrôleur standard a deux bâtons, chacun étant représenté par 2 axes (x et y). Il comprend également un D-Pad, 4 boutons de jeu, des boutons supérieurs et des déclencheurs: tous représentés en boutons de l'API GamePad.
ÉTAT DE RAPPORT DE CONTRÔLEURS XBOX CONTRÔLES COMME SITATIONS 0 (État normal) ou 1 (appuyé). Cependant, vous pouvez imaginer que les futurs contrôleurs pourraient signaler la quantité de force appliquée à chaque bouton appuyer.
La Xbox D-PAD rapporte également des valeurs discrètes (0 ou 1), mais les bâtons fournissent des valeurs continues sur toute la plage d'axe [-1 .. 1]. Cette précision supplémentaire facilite le pilotage de l'avion dans nos missions d'arcade de vol.
pxgamepad
Le tableau des boutons et des axes fournis par l'API GamePad est en avant et parfait en tant qu'API de bas niveau. Cependant, lors de l'écriture d'un jeu, il est agréable d'avoir une représentation de niveau supérieur d'une manette de jeu standard comme le contrôleur Xbox One. Nous avons créé une classe d'assistance nommée pxgamepad qui mappe le bouton et les indices d'axe sur les noms les plus familiers comme étiqueté sur le contrôleur Xbox.
Nous allons parcourir quelques pièces intéressantes de la bibliothèque, mais le code source complet (licence MIT) est disponible ici: https://github.com/thinkpixellab/pxgamepad
L'API GamePad standard fournit l'état de bouton comme un tableau de boutons. Encore une fois, cette API est conçue pour la flexibilité permettant aux contrôleurs avec divers dénombrements de bouton. Cependant, lors de l'écriture d'un jeu, il est beaucoup plus facile d'écrire et de lire du code qui utilise les noms de bouton mappés standard.
Par exemple, avec l'API HTML5 GamePad, voici le code pour vérifier si le déclencheur de gauche est actuellement enfoncé:

La classe PXGAMEPAD contient une méthode de mise à jour qui rassemblera l'état pour tous les boutons et axes mappés standard. Il est donc simple de déterminer si le gauche à gauche est aussi simple que d'accès à une propriété booléenne:

Les axes de l'API GamePad standard sont également fournis comme un tableau de valeurs numériques. Par exemple, voici le code pour obtenir les valeurs x et y normalisées pour le bâton gauche:

Le D-Pad est un cas spécial, car il a considéré un ensemble de quatre boutons par l'API HTML5 GamePad (Indices 12, 13, 14 et 15). Cependant, il est courant que les développeurs permettent au DPAD d'être utilisé de la même manière que l'un des bâtons. PXGAMEPAD fournit une infonction de bouton pour le D-PAD, mais synthétise également les informations sur les axes comme si le D-Pad était un bâton:

Une autre limitation de l'API HTML5 GamePad est qui ne fournit pas des événements au niveau des boutones. Il est courant qu'un développeur de jeux souhaite activer un seul événement pour une appuye sur un bouton. Dans Flight Arcade, les boutons d'allumage et de frein sont de bons exemples. PXGAMEPAD Watchs Button State et permet aux appelants de s'inscrire aux notifications sur la libération de bouton.

Voici la liste complète des boutons nommés pris en charge par pxgamepad:
- a
- b
- x
- y
- gauche
- RightTop
- LeftTrigger
- droitetrigger
- sélectionner
- Démarrer
- LeftStick
- tout droit
- dpadup
- dpaddown
- dpadleft
- dpadright
Obtention de la manette de jeu actuelle
Il existe deux méthodes pour récupérer l'objet GamePad. L'API GamePad ajoute une méthode à l'objet Navigator nommé getGamePads () qui renvoie un tableau de toutes les manèges de jeu connectés. Il existe également de nouveaux événements GamePadConned et GamePadDisconnects qui sont licenciés chaque fois qu'un nouveau jeu de jeu a été connecté ou déconnecté. Par exemple, voici comment le PXGAMEPAD Helper stocke le dernier GamePad connecté:

Et voici l'assistance pour récupérer la première GamePad standard à l'aide de l'API Navigator.getGamePads ():

La classe PXGAMEPAD Helper est conçue pour le scénario simple où un seul utilisateur joue à un jeu avec une manette de jeu cartographiée standard. Les derniers navigateurs, comme Microsoft Edge, prennent entièrement en charge l'API W3C GAMPEPAD. Cependant, les versions plus anciennes de certains autres navigateurs ne supportaient que les pièces de la spécification émergente. Le PXGAMEPAD écoute les événements de GamePadconned et retombe pour interroger la liste de toutes les manèges de jeu si nécessaire.
avenir de Gamepad
Bien que PxgamePad se concentre sur le scénario simple et le plus courant, l'API GamePad est entièrement capable de soutenir plusieurs joueurs, chacun avec son propre GamePad. Une amélioration possible pour PXGAMEPAD pourrait être de fournir une classe de style gestionnaire qui suit la connexion de plusieurs GamePads et les mappe à plusieurs joueurs dans un jeu. Un autre pourrait être de permettre aux utilisateurs de remémorer ou de personnaliser les fonctions de bouton sur leurs manèges de jeu.
Nous sommes également enthousiasmés par le potentiel du GamePad pour les scénarios sans jeu. Avec la montée en puissance de WebGL, nous constatons une variété d'utilisations innovantes pour la 3D sur le Web. Cela pourrait signifier explorer la région du mont Everest en 3D avec Glacierworks. Ou voir la collection assyrienne du British Museum grâce aux efforts de Cyark pour préserver numériquement des sites mondiaux importants et des artefacts.
Pendant le développement de Flight Arcade, nous avons fréquemment utilisé Blender et d'autres outils 3D pour traiter les modèles pour babylon.js. Certains développeurs et artistes utilisent un appareil appelé souris 3D pour aider à manipuler et à naviguer dans les modèles 3D. Ces appareils suivent le mouvement d'un seul bouton à travers six axes! Ils facilitent les modèles très faciles et rapides. Au-delà du jeu, ils sont utilisés dans une variété d'applications intéressantes de l'ingénierie à l'imagerie médicale. Tout en ajoutant du support GamePad à Flight Arcade, nous avons été surpris d'apprendre que l'API GamePad a détecté notre spacemouse 3D et a fourni des données de mouvement pour les six axes!
C'est excitant d'imaginer toutes les possibilités que la nouvelle API GamePad offre. C'est le moment idéal pour expérimenter la nouvelle API GamePad et ajouter un contrôle de précision et beaucoup de plaisir à votre prochain jeu ou application!
Plus pratique avec JavaScript
Microsoft a un tas d'apprentissage gratuit sur de nombreux sujets JavaScript open source et nous sommes en mission pour créer beaucoup plus avec Microsoft Edge. En voici quelques-uns à vérifier:
- Microsoft Edge Web Summit 2015 (une série complète de ce à quoi s'attendre avec le nouveau navigateur, les nouvelles fonctionnalités de la plate-forme Web et les conférenciers invités de la communauté)
- build de // build / et windows 10 (y compris le nouveau moteur JavaScript pour les sites et les applications)
- Avocation JavaScript sans casser le Web (récent Keynote de Christian Heilmann)
- Applications Web hébergées et innovations de plate-forme Web (une plongée profonde sur des sujets comme Manifold.js)
- Conseils de performance pratiques pour rendre votre HTML / JavaScript plus rapidement (une série en 7 parties, de la conception réactive aux jeux occasionnels à l'optimisation des performances)
- La plate-forme Web moderne Jumpstart (les principes fondamentaux de HTML, CSS et JS)
Et quelques outils gratuits pour commencer: Code Visual Studio, essai Azure et outils de test de navigateur croisé - tous disponibles pour Mac, Linux ou Windows.
Cet article fait partie de la série Web Dev Tech de Microsoft. Nous sommes ravis de partager Microsoft Edge et le nouveau moteur Edgehtml avec vous. Obtenez des machines virtuelles gratuites ou testez à distance sur votre appareil Mac, iOS, Android ou Windows @ moderne.ie.
Les questions fréquemment posées sur l'API GamePad
Quelle est l'API GamePad?
L'API GamePad est une interface Web qui permet aux développeurs d'accéder et de répondre aux signaux à partir d'un GamePad ou d'un contrôleur. Cette API est conçue pour fonctionner avec tout type de GamePad, ce qui en fait un outil polyvalent pour les développeurs de jeux. Il fournit un moyen d'interagir directement avec le GamePad, sans avoir besoin de passer par un logiciel ou un pilote tiers.
Comment fonctionne l'API GamePad?
L'API GamePad fonctionne en détectant les entrées du GamePad et en les traduisant en actions dans le jeu. Il le fait en écoutant des événements spécifiques, tels que des pressions de bouton ou des mouvements de joystick, puis en déclenchant l'action correspondante dans le jeu. Cela permet une expérience de jeu plus immersive et interactive.
Comment puis-je utiliser l'API GamePad dans mes propres jeux?
pour utiliser l'API GamePad dans vos propres jeux, vous devrez inclure c'est dans le code de votre jeu. Cela implique d'appeler les fonctions de l'API et d'écouter les événements qu'il génère. Vous pouvez ensuite utiliser ces événements pour contrôler les aspects de votre jeu, tels que le mouvement des personnages ou la navigation de menu.
Quels types de GamePads sont compatibles avec l'API GamePad?
L'API GamePad est conçue pour Soyez compatible avec un large éventail de cadres de jeu. Cela comprend des manchettes standard avec des boutons et des joysticks, ainsi que des contrôleurs plus spécialisés comme les volants ou les bâtons de vol. L'API peut également gérer plusieurs GamePads à la fois, permettant des jeux multijoueurs.
Puis-je utiliser l'API GamePad avec d'autres API?
Oui, l'API GamePad peut être utilisée en conjonction avec d'autres API pour créer des jeux plus complexes. Par exemple, vous pouvez utiliser l'API GamePad pour contrôler le mouvement des personnages, tout en utilisant une autre API pour gérer la physique du jeu ou les graphiques.
L'API GamePad est-elle prise en charge par tous est une interface Web, tous les navigateurs ne le prennent pas actuellement en charge. Cependant, la plupart des navigateurs modernes, notamment Chrome, Firefox et Edge, soutiennent l'API GamePad. C'est toujours une bonne idée de vérifier la prise en charge actuelle du navigateur de l'API avant de commencer le développement.
Quels sont les problèmes auxquels les développeurs sont confrontés lors de l'utilisation de l'API GamePad?
Certains problèmes courants sont confrontés à l'utilisation lors de l'utilisation de l'utilisation L'API GamePad comprend la détection du GamePad correct, la gestion de plusieurs GamePads et la gestion de différentes dispositions de bouton. Ces problèmes peuvent généralement être résolus en lisant soigneusement la documentation de l'API et en testant soigneusement le jeu.
L'API GamePad peut-elle être utilisée pour les jeux mobiles?
Alors que l'API GamePad est principalement conçue pour une utilisation avec une utilisation avec une utilisation avec une utilisation avec une utilisation avec une utilisation avec une utilisation avec une utilisation avec une utilisation avec une utilisation avec Browsers de bureau, il peut également être utilisé pour les jeux mobiles. Cependant, cela nécessite une manette de jeu compatible avec l'appareil mobile, et l'expérience utilisateur peut ne pas être aussi fluide qu'avec un jeu de bureau.
Comment puis-je tester l'API GamePad?
Vous Peut tester l'API GamePad en connectant un GamePad à votre ordinateur et en exécutant un jeu qui utilise l'API. Vous pouvez ensuite appuyer sur les boutons de la manette de jeu et voir si les actions correspondantes sont déclenchées dans le jeu.
où puis-je en savoir plus sur l'API GamePad?
Il existe de nombreuses ressources disponibles en ligne pour en savoir plus sur l'API GamePad. Cela comprend la documentation officielle de l'API, ainsi que des tutoriels et des guides sur divers sites Web de développement de jeux. Vous pouvez également trouver des exemples de jeux qui utilisent l'API pour le voir en action.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Comprendre le fonctionnement du moteur JavaScript en interne est important pour les développeurs car il aide à écrire du code plus efficace et à comprendre les goulots d'étranglement des performances et les stratégies d'optimisation. 1) Le flux de travail du moteur comprend trois étapes: analyse, compilation et exécution; 2) Pendant le processus d'exécution, le moteur effectuera une optimisation dynamique, comme le cache en ligne et les classes cachées; 3) Les meilleures pratiques comprennent l'évitement des variables globales, l'optimisation des boucles, l'utilisation de const et de locations et d'éviter une utilisation excessive des fermetures.

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

Les applications de JavaScript dans le monde réel incluent la programmation côté serveur, le développement des applications mobiles et le contrôle de l'Internet des objets: 1. La programmation côté serveur est réalisée via Node.js, adaptée au traitement de demande élevé simultané. 2. Le développement d'applications mobiles est effectué par le reactnatif et prend en charge le déploiement multiplateforme. 3. Utilisé pour le contrôle des périphériques IoT via la bibliothèque Johnny-Five, adapté à l'interaction matérielle.

J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant

Cet article démontre l'intégration frontale avec un backend sécurisé par permis, construisant une application fonctionnelle EdTech SaaS en utilisant Next.js. Le frontend récupère les autorisations des utilisateurs pour contrôler la visibilité de l'interface utilisateur et garantit que les demandes d'API adhèrent à la base de rôles


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Dreamweaver CS6
Outils de développement Web visuel