Table des matières:
Vidéo: Plaquettes de frein : Les conseils de nos garagistes / Top Entretien #1 (avec Denis Brogniart) 2025
Les concessionnaires d'automobiles hésitent à installer des armes, mais c'est pourquoi les gens deviennent programmeurs de jeux. Vous pouvez donc ajouter des missiles à vos objets de jeu HTML5. Si vous voulez des missiles dans votre mini-van, vous aurez des missiles (au moins dans la fourgonnette virtuelle). Beaucoup de jeux vidéo impliquent le tir, et c'est un effet assez facile à ajouter.
Les bases du projectile pour votre jeu
Les missiles, les balles et autres projectiles sont assez faciles à utiliser. Voici quelques idées à garder à l'esprit:
-
Le projectile est un sprite. Crée un nouveau sprite pour le projectile. Vous pouvez en faire un simple point ou dessiner un missile complet.
-
Crée un sprite personnalisé pour le missile. Le missile aura besoin de quelques méthodes, donc vous pourriez aussi bien en faire un sprite personnalisé.
-
Les missiles meurent lorsqu'ils quittent l'écran. Le moyen le plus simple d'obtenir ce comportement est de placer le boundAction du missile dans DIE.
-
Ajoutez une méthode fire () . La méthode fire () s'activera lorsque le missile sera tiré.
-
Réutilisez le même missile encore et encore. Les vieux missiles ne meurent jamais. Ils sont juste cachés et réutilisés lorsque l'utilisateur tire à nouveau. Quand un missile frappe quelque chose, cachez le missile. Cela le rendra invisible et imperméable aux collisions.
Comment lancer vos missiles de jeu
Le code du missile. html est comme une grande partie du code de voiture standard que vous avez vu:
missile. jeu html var; var voiture; var missile; function Car () {tCar = nouveau Sprite (jeu, "voiture.png", 50, 30); tCar. setSpeed (3); tCar. setAngle (135); tCar. checkKeys = function () {if (keysDown [K_LEFT]) {this. turnBy (-5);} if (keysDown [K_RIGHT]) {this. turnBy (5);} if (keysDown [K_SPACE]) {missile. fire ();}} // end checkKeys retourne tCar;} // end car def fonction Missile () {tMissile = nouveau Sprite (jeu, "missile.png", 30, 20); tMissile. cacher(); tMissile. fire = function () { ceci. montrer(); tMissile. setSpeed (15); ceci. setBoundAction (DIE); ceci. setPosition (voiture x, voiture y); ceci. setAngle (voiture, getImgAngle ()); ceci. setImage ("missile.png"); ceci. setSpeed (15); } // fin incendie return tMissile;} // fin missile def fonction init () {game = new Scène (); voiture = nouvelle voiture (); missile = nouveau missile (); jeu. start ();} // fin de la fonction d'initialisation update () {game. clair(); voiture. checkKeys (); voiture. mettre à jour(); missile. mettre à jour(); } // mise à jour de fin
Les projectiles sont très amusants à construire, et ils ne sont pas très difficiles, comme montré ici:
-
Construire un sprite normal pour lancer le projectile.
Ce n'est pas absolument nécessaire, mais normalement une balle sera tirée d'un fusil, une flèche sera tirée d'un arc, et une fusée de banane nucléaire sera tirée de n'importe quel véhicule ayant ce genre de chose.
-
Le projectile sera son propre sprite.
Le projectile fonctionne comme un sprite ordinaire, mais il sera créé et détruit dynamiquement.
-
Ajoutez un déclencheur pour tirer le missile.
Parce que la voiture lancera le missile, le code de déclenchement est dans la méthode checkKeys de la voiture.
-
Définissez le missile à masquer par défaut.
Le missile est toujours là, mais il est caché en coulisse quand il n'est pas nécessaire. Si vous appelez la méthode hide () d'une image-objet, cette image-objet sera toujours en mémoire, mais elle ne sera pas dessinée et ne déclenchera aucune collision.
-
Crée une méthode fire () pour le missile.
Le missile est assis dans l'attente d'être activé. La méthode du feu () lance le missile en action.
-
Rendre le projectile visible.
La méthode show () est l'opposé de hide (). Cela provoque la visibilité d'un sprite et déclenche des collisions.
-
Donnez au missile une vitesse initiale rapide.
Comme vous le savez, les missiles sont normalement rapides.
-
Cacher le missile quand il touche le bord.
Lorsque le missile atteint le bord de l'écran, il doit être caché. La définition de boundAction sur DIE rendra ce comportement automatique.
-
Cacher le missile s'il touche quelque chose d'autre.
Cet exemple simple n'a pas d'autres objets, mais si le missile entre en collision avec quelque chose d'autre, invoque sa méthode hide () pour simuler la destruction du missile au contact.
Une fois que vous avez le comportement du missile ordinaire, vous pouvez essayer un certain nombre de variantes intéressantes:
-
Ajouter de la gravité aux missiles. Si c'est un déflecteur latéral, ajoutez une force gravitationnelle à vos missiles pour obtenir un effet semblable à un ver.
-
Ajouter une autre physique aux missiles. Vous pouvez faire glisser les missiles comme n'importe quel autre sprite.
-
Faites un missile intelligent. Utilisez la méthode angleTo pour déterminer l'angle entre un missile et une cible et tournez le missile vers la cible sur chaque image. Cela simulera un missile intelligent qui ne manque jamais. (Un bon bonus, mais ça rend le jeu trop facile si vous en avez trop.)
-
Faites un missile pas si intelligent. Si l'ennemi tire un missile sur le joueur, vous ne le voulez pas si intelligent. D'abord, faites en sorte que le missile soit assez lent pour qu'il puisse être distancé. Deuxièmement, mettez des barrières qui peuvent détruire le missile sur le chemin. Troisièmement, rendre le missile intelligent seulement une fois de temps en temps pour qu'il vérifie la position de la cible une fois tous les cinq ou dix cadres.
