„Han Shunping H5 Game Development Tank Battle Video Tutorial“ ist aus Han Shunpings offenem Online-Kurs ausgewählt. Es stellt vor, wie man mit HTML5 ein Panzerkampfspiel erstellt, das ich mitnehmen werde ein 3D-Top-Down-Panzerkampfspiel. Von der grundlegendsten Steuerung bis hin zur gegnerischen KI und dem gesamten Spielsystem begleiten wir Sie Schritt für Schritt, um ein komplettes Spiel zu realisieren. In diesem Tutorial konzentrieren wir uns auf die Verwendung von Programmen und Unity, sodass wir nicht zu viel über Kunstressourcen sprechen. Ich werde ein Ressourcenpaket vom offiziellen Training Day von Unity verwenden,
Kurswiedergabeadresse: http://www.php.cn/course/ 409 .html
Der Unterrichtsstil des Lehrers:
Die Vorträge sind freundlich und natürlich, unprätentiös, nicht anmaßend oder absichtlich übertrieben, sondern eloquent. Lautes Sprechen und sorgfältig führen Lehrer und Schüler einen stillen emotionalen Austausch in einer Atmosphäre der Gleichheit, Zusammenarbeit und Harmonie durch, wobei der Wissensdurst und die Erkundung des Wissens in eine einfache und reale Unterrichtssituation integriert werden und die Schüler Wissen durch stilles Denken und stille Zustimmung erlangen
Der schwierigere Teil in diesem Video ist die Produktionsidee:
Problem beim Auslösen von Tastaturereignissen:
Wenn Spieler die Bewegung des Panzers durch Drücken von Tasten steuern müssen, denken viele Leute zuerst daran, die entsprechende Bewegungsfunktion an die Einschalttaste der entsprechenden Taste über dem Ereignis zu binden.
Im Allgemeinen gibt es beim Schreiben auf diese Weise ein Problem, d Für einen bestimmten Zeitraum werden die Ereignisse andauern.
Dieses Problem im Spiel spiegelt sich darin wider, dass sich Ihr Panzer nach einiger Zeit nach dem Drücken der Taste immer kontinuierlich zu bewegen beginnt, was sich stark auf das Spielerlebnis auswirkt.
Die Lösung für dieses Problem ist sehr einfach:
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 } }
Verwenden Sie den Schlüsselwert des Schlüssels als Attributnamen und speichern Sie ihn Schlüsselstatus in keyInfo Im Objekt ist der Anfangswert false, was angibt, dass die Taste nicht gedrückt wurde.
Wenn die entsprechende Taste auf der Tastatur gedrückt wird, wird der KeyCode, der den Tastenwert darstellt, der gedrückten Taste direkt über den Ereignisdelegierten erfasst.
Nachdem das onkeydown-Ereignis ausgelöst wurde, setzen Sie das entsprechende Attribut in keyInfo auf true, um anzuzeigen, dass die Taste gedrückt wurde. Nachdem das onkeyup-Ereignis ausgelöst wurde, setzen Sie das entsprechende Attribut in keyInfo auf false.
Durchlaufen Sie abschließend das Spiel, um die Authentizität der Attribute der entsprechenden Schlüssel in keyInfo zu erkennen und die entsprechenden Operationen auszuführen
Pfadproblem:
Ohne das Kollisionsproblem zwischen Panzern und Kugeln zu erwähnen, besteht das Pfadproblem im Wesentlichen darin, zu bestimmen, wo Ihr Panzer und Ihre Kugeln (das Problem der Kugeln ist tatsächlich komplizierter, was später ausführlicher besprochen wird) auf der Karte landen können und wo nicht. Obwohl dieses Problem nicht sehr kompliziert ist, kann man meiner Meinung nach sagen, dass dieses Problem den Kern des gesamten Spiels darstellt, da sich viele nachfolgende Probleme um Lu Jin drehen.
Warten
Hier empfehlen wir auch den Download von Quellcode-Ressourcen: http://www.php.cn/xiazai/learn/2048
Die Ressourcen teilen Video-Kursunterlagen und PPT mit Ihnen:
Materialien
Dokumente
Quellcode
Das obige ist der detaillierte Inhalt vonHan Shunping H5-Spieleentwicklung, Panzerschlacht, Video-Quellcode, gemeinsame Nutzung von Kursunterlagen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!