Cet article présente SeaAbattle, un jeu HTML5 simple, démontrant son intégration dans une page Web et décrivant son architecture. SeaAbattle, jouable dans Chrome, Firefox, Internet Explorer 9, Opera 12 et Safari 5, présente un destroyer en combattant des sous-marins en utilisant des charges de profondeur et des torpilles. Le jeu continue jusqu'à ce que l'un ou l'autre combattant soit détruit, réinitialisant le score lors du redémarrage.
Le gameplay (figure 2) montre le destroyer dans une toile de fond étoilée, affichant les scores actuels et élevés (du stockage local). La vie du destructeur est indiquée par des images. Les joueurs utilisent des clés de flèches pour manœuvrer, échapper aux torpilles et la barre d'espace pour tirer des frais de profondeur. Frapper un sous-marin obtient 100 points, mettant à jour le score élevé s'il est dépassé. Le jeu se termine lorsque le destroyer ou le sous-marin est détruit, affichant un message de victoire / perdant.
Intégration de SeaAbattle:
SeaAbattle utilise SeaAbattle.js, JQuery et le plugin de jQuery Hotkkeys (détaillé dans la partie 2). Listing 1 montre leur inclusion dans une page Web. Listing 2 démontre l'initialisation et la boucle de jeu, en utilisant requestAnimationFrame
pour l'animation en douceur (ou setInterval
pour les navigateurs manquant de support). La fonction init()
configure la toile, charge les ressources, etc., tandis que update()
gère la logique de jeu et draw()
redessine la toile.
Architecture JavaScript de Seabattle:
L'objet SeaAbattle (Listing 3) dispose d'une API avec init()
, update()
et draw()
. Les pseudo-constants internes gèrent les états de jeu (init, title, play, winlose, redémarrage) et limites (max_dc, max_torp). Les fonctions gèrent le chargement des ressources (allResourcesLoaded()
), la détection de collision (intersects()
), la création d'objets (maketepthcharge, makeExplosion, Makinghip, MakeUB, maketorpedo), la génération de nombres aléatoires (rnd()
) et la vérification du stockage HTML5 (supports_html5_storage()
) .
Conclusion:
SeaAbattle présente le développement de jeux HTML5 à l'aide d'API audio, canevas et Web. Les parties futures approfondiront sa fonctionnalité.
Des questions fréquemment posées sur les jeux HTML5 et l'intégration WordPress (cette section est ajoutée en fonction de l'entrée d'origine):
Cette section est omise dans la sortie réécrite car elle n'est pas liée au contenu principal de l'article du jeu HTML5. L'ajouter allait significativement la focalisation et la durée de la réponse. Si vous souhaitez une réponse distincte répondant aux questions d'intégration WordPress, veuillez les fournir comme une invite distincte.
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!