Maison >interface Web >tutoriel HTML >Han Shunping H5 développement de jeux char de combat vidéo code source partage de didacticiels
"Tutoriel vidéo de combat de chars de développement de jeux Han Shunping" est sélectionné dans le cours ouvert en ligne de Han Shunping. Il présente comment utiliser HTML5 pour créer un jeu de combat de chars. Il a considérablement amélioré la technologie H5. un jeu de combat de chars en 3D de haut en bas. Des commandes les plus basiques à l'IA ennemie en passant par l'ensemble du système de jeu, nous vous guiderons étape par étape pour réaliser un jeu complet. Dans ce tutoriel, nous nous concentrons sur l'utilisation des programmes et d'Unity, nous ne parlerons donc pas trop des ressources artistiques. J'utiliserai un package de ressources de la journée de formation officielle d'Unity,
Adresse de lecture du cours : http://www.php.cn/course/ 409 .html
Le style d'enseignement du professeur :
Les cours sont conviviaux et naturels, sans prétention, ni prétentieux ni délibérément exagérés, mais éloquents Parler fort et soigneusement, les enseignants et les étudiants ont des échanges émotionnels silencieux dans une atmosphère d'égalité, de collaboration et d'harmonie, intégrant la soif et l'exploration des connaissances dans une situation d'enseignement simple et réelle, et les étudiants acquièrent des connaissances grâce à une réflexion calme et une approbation silencieuse
La partie la plus difficile de cette vidéo est l'idée de production :
Problème de déclenchement d'événement de clavier :
Si les joueurs doivent contrôler le tank pour se déplacer en appuyant sur des boutons, la première chose à laquelle beaucoup de gens pensent est de lier la fonction de mouvement correspondante à l'appui sur le bouton correspondant au-dessus de l'événement.
De manière générale, il y a un problème avec l'écriture de cette façon, c'est-à-dire pour éviter des situations telles qu'un vieil homme lâche prise lentement et provoque le déclenchement plusieurs fois d'événements de clavier uniquement lorsque vous appuyez sur la touche pendant un. Pendant une certaine période, les événements continueront à se déclencher.
Le reflet de ce problème dans le jeu est que votre tank commencera toujours à se déplacer continuellement après un certain temps après avoir appuyé sur le bouton, ce qui affecte grandement l'expérience de jeu.
La solution à ce problème est très simple :
let keyInfo = {}; //按键是否被按下的信息let aKey = [72 , 74 , 87 , 83 , 65 , 68 , 38 , 40 , 37 , 39 , 17]; //这里面的数字是wasdhj等按键的键值 for (let i = 0; i < aKey.length; i++) { keyInfo[aKey[i]] = { pressed : false } }
Utilisez la valeur clé de la clé comme nom d'attribut et stockez le état de la clé dans keyInfo Dans l'objet, la valeur initiale est fausse, indiquant que le bouton n'est pas enfoncé.
Lorsque la touche correspondante du clavier est enfoncée, le keyCode, qui est la valeur de la touche enfoncée, est directement capturé via le délégué de l'événement.
Une fois l'événement onkeydown déclenché, définissez l'attribut correspondant dans keyInfo sur true, indiquant que la touche est enfoncée. Une fois l'événement onkeyup déclenché, définissez l'attribut correspondant dans keyInfo sur false.
Enfin, parcourez le jeu pour détecter l'authenticité des attributs des clés correspondantes dans keyInfo et effectuez les opérations correspondantes
Problème de chemin :
<.> Sans mentionner le problème de collision entre les chars et les balles, le problème du chemin consiste essentiellement à déterminer où votre char et vos balles (le problème des balles est en fait plus compliqué, qui sera discuté en détail plus tard) peuvent et ne peuvent pas aller sur la carte. bien que ce problème ne soit pas très compliqué, à mon avis, on peut dire que ce problème est au cœur de tout le jeu, car de nombreux problèmes ultérieurs tournent autour de Lu Jin. AttendezIci, nous vous recommandons également de télécharger les ressources du code source : http://www.php.cn/xiazai/learn/2048
Les ressources partagent des didacticiels vidéo et des ppt avec vous :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!