


Teilen Sie Beispiele für die Verwendung von HTML5 Canvas zum Erstellen von Tastatur- und Mausanimationen. HTML5-Tutorial-Fähigkeiten
Tastatur steuert die Bewegung des Balls
Wie wir alle wissen, handelt es sich bei der Animation, die wir sehen, tatsächlich um eine Reihe schneller Wechsel statischer Bilder, die dem bloßen Auge aufgrund visueller Nachbilder den visuellen Effekt von „bewegten Bildern“ verleihen. Nachdem Sie dies verstanden haben, wird das Zeichnen von Animationseffekten auf der Leinwand relativ einfach. Wir müssen zunächst nur eine bestimmte statische Grafik löschen und sie dann an einer anderen Stelle neu zeichnen. Wiederholen Sie diesen Vorgang, um die statische Grafik entlang einer bestimmten Flugbahn zu bewegen und einen Animationseffekt zu erzeugen.
Als nächstes zeichnen wir einen festen Ball auf die Leinwand und verwenden dann die Pfeiltasten auf der Tastatur, um die Bewegung des Balls zu steuern, um dynamische Effekte zu erzeugen. Der Beispielcode lautet wie folgt:
- "UTF-8">
- "moveBall(event)"
- >
- "myCanvas"
- width= "400px"
- height="300px" style="border: 1px solid red;"> Ihr Browser unterstützt das Canvas-Tag nicht.
- >
- //Holen Sie sich das Canvas-Objekt (Canvas)
- var canvas = document.getElementById("myCanvas");
- //Stellt die Klasse der Kugel dar
- Funktion Ball(x, y, Radius, Geschwindigkeit){
- this.x = x || 10;//Die x-Koordinate der Kugel, der Standardwert ist 10 this
- .y = y || 10 //Die y-Koordinate der Kugel, der Standardwert ist 10 this
- .radius = radius || //Der Radius der Kugel, der Standardwert ist 10 this
- .speed = speed || 5; //Die Bewegungsgeschwindigkeit des Balls, der Standardwert ist 5
- //Nach oben verschieben
- dies
- .moveUp = Funktion(){ dieses
- .y -= dieses.speed; if (
- this.y //Überschreiten der Obergrenze verhindern
- };
- //Nach rechts bewegen
- dies .moveRight =
- Funktion (){
- this.x = this .speed;
- var maxX = canvas.width - this.radius;
- if(this.x > maxX){
- //Überschreitung der rechten Grenze verhindern dieses .x = maxX;
- }
- };
- //Nach links bewegen
- dies.moveLeft = Funktion(){
- dieses.x -= dieses.speed;
- if(this.x //Überschreiten der linken Grenze verhindern
- this .x =
- this.radius; };
- //Nach unten bewegen
- dies.moveDown = Funktion
- (){ this.y = this
- .speed; var maxY = canvas.height - this .radius;
- if(this.y > maxY){
- //Überschreitung der Untergrenze verhindern dieses
- .y = maxY> };
- }
- //Zeichne den Ball
- Funktion drawBall(ball){
- if(
- typeof ctx != "undefiniert"){
- ctx.beginPath(); ctx.arc(ball.x, ball.y, ball.radius, 0, Math.PI * 2, false); ctx.fill();
- }
- }
- //Löschen Sie die Leinwand
- Funktion clearCanvas(){
- if(typeof ctx != "undefiniert"){
- ctx.clearRect(0, 0, 400, 300); }
- }
- var ball = neu Ball(); //Erkennen Sie einfach, ob der aktuelle Browser das Canvas-Objekt unterstützt, um Syntaxfehler in einigen Browsern zu vermeiden, die HTML5 nicht unterstützen
- if
- (canvas.getContext){ //Erhalten Sie das entsprechende CanvasRenderingContext2D-Objekt (Pinsel)
- var
- ctx = canvas.getContext("2d"); drawBall(ball);
- }
- //Callback-Handler-Funktion für Onkeydown-Ereignis
- //Steuern Sie die Bewegung des Balls entsprechend den Tasten des Benutzers
- Funktion moveBall(event){
- Schalter(event.keyCode){
- Fall 37: //Linke Pfeiltaste
- ball.moveLeft();
- Pause;
- Fall 38: //Richtungstaste nach oben ball.moveUp();
- Pause; Fall
- 39: //Rechtspfeiltaste ball.moveRight();
- Pause
- ; Fall 40:
- //Abwärtspfeiltaste ball.moveDown();
- Pause ;
- Standard: //Andere Tastenoperationen reagieren nicht
- zurück; }
- clearCanvas();
- //Löschen Sie zuerst die Leinwand
- drawBall(ball);
- //Den neuesten Ball zeichnen }
- Bitte verwenden Sie einen Browser, der HTML5 unterstützt, um die folgende Webseite zu öffnen, um den tatsächlichen Effekt zu sehen (verwenden Sie die Pfeiltasten zum Bewegen): Verwenden Sie die Leinwand, um einen beweglichen Ball zu zeichnen
- .
Der erste Schritt besteht darin, die Gesichtszüge zu zeichnen
Dieser Clown hat keine Ohren und Augenbrauen, daher sind nur noch drei Organe übrig, aber wir müssen seine beiden Augen separat zeichnen, sodass es insgesamt vier Teile gibt. Schauen wir uns zunächst den Code an.
JavaScript-Code
- var leftEye = new Kinetic.Line({
- x: 150,
- Punkte: [0, 200, 50, 190, 100, 200, 50, 210],
- Spannung: 0,5,
- geschlossen: wahr,
- Strich: 'weiß',
- StrokeWidth: 10
- });
Code zum Zeichnen des rechten Auges
- var rightEye = new Kinetic.Line({
- x: sw - 250,
- Punkte: [0, 200, 50, 190, 100, 200, 50, 210],
- Spannung: 0,5,
- geschlossen: wahr,
- Strich: 'weiß',
- StrokeWidth: 10
- });
Code zum Zeichnen der Nase
- var Nase = neu Kinetic.Line({
- Punkte: [240, 280, sw/2, 300, sw-240,280],
- Spannung: 0,5,
- geschlossen: wahr,
- Strich: 'weiß',
- StrokeWidth: 10
- });
Code zum Zeichnen des Mundes
- varmouth = new Kinetic.Line({
- Punkte: [150, 340, sw/2, 380, sw - 150, 340, sw/2, sh],
- Spannung: 0,5,
- geschlossen: wahr,
- Strich: 'rot',
- StrokeWidth: 10
- });
Würden Sie enttäuscht sein? Es stellt sich heraus, dass es nur ein paar Zeilen Code sind. Ja, so einfach ist das. Ich glaube, Sie beginnen, sich sicher zu fühlen, dass Sie ein Web-Game-Animationsprogrammierer werden können
Erklären Sie kurz den obigen Code. Kinetic ist das von uns verwendete JS-Toolkit. Am Kopf der Seite müssen wir wie folgt darauf verweisen:
- varmouth = new Kinetic.Line({
- Punkte: [150, 340, sw/2, 380, sw - 150, 340, sw/2, sh],
- Spannung: 0,5,
- geschlossen: wahr,
- Strich: 'rot',
- StrokeWidth: 10
- });
Der zweite Schritt besteht darin, das Bild in Bewegung zu setzen
Der Grund, warum diese Animation attraktiv ist, liegt darin, dass sie auf Ihre Mausbewegungen reagieren und mit dem Benutzer interagieren kann. Dies ist der wichtigste Aspekt einer erfolgreichen Animation. Wenn Sie genau hinsehen, handelt es sich bei den Veränderungen in den Gesichtszügen des Clowns lediglich um Veränderungen der Form: Die Augen werden größer, der Mund wird größer und die Nase wird größer. Das Besondere ist jedoch, dass es sich bei dieser Veränderung nicht um eine sofortige Veränderung handelt Übergangsalgorithmen. Das ist der besorgniserregendste Teil. Glücklicherweise sind diese Algorithmustechnologien sehr ausgereift und erfordern nicht, dass wir darüber nachdenken. Diese Animations-Engine-Bibliotheken haben diese Technologien in sehr einfache und praktische Schnittstellen gekapselt. Werfen wir einen Blick darauf, wie wir die Dinge in Bewegung bringen können.
Animation des linken Auges
- var leftEyeTween = new Kinetic.Tween({
- Knoten: leftEye,
- Dauer: 1,
- Lockerung: Kinetic.Easings.ElasticEaseOut,
- y: -100,
- Punkte: [0, 200, 50, 150, 100, 200, 50, 200]
- });
- var rightEyeTween = new Kinetic.Tween({
- Knoten: rightEye,
- Dauer: 1,
- Lockerung: Kinetic.Easings.ElasticEaseOut,
- y: -100,
- Punkte: [0, 200, 50, 150, 100, 200, 50, 200]
- });
Animation der Nase
- var NoseTween = new Kinetic.Tween({
- Knoten: Nase,
- Dauer: 1,
- Lockerung: Kinetic.Easings.ElasticEaseOut,
- y: -100,
- Punkte: [220, 280, sw/2, 200, sw-220,280]
- });
Mundanimation
- varmouthTween = new Kinetic.Tween({
- Knoten: Mund,
- Dauer: 1,
- Lockerung: Kinetic.Easings.ElasticEaseOut,
- Punkte: [100, 250, sw/2, 250, sw - 100, 250, sw/2, sh-20]
- });
Der Code ist sehr einfach und die Variablennamen sind selbsterklärend. Für Programmierer mit ein wenig Erfahrung sollte es nicht schwierig sein, diese Codes zu verstehen. Grundsätzlich können Sie in jedem Codeabschnitt einige Punkte angeben, um den Abklingmodus und die Dauer der Animationsaktion festzulegen.
Vollständiger Animationscode
- nbsp;HTML>
- body {
- margin: 0px;
- padding: 0px;
- }
- #container {
- background-color: black;
- }
-
"container">
- <script><span class="string">"/js/lib/kinetic-v5.0.1.min.js"</script>>
- <script><span class="string">"defer"</script>>
- var sw = 578;
- var sh = 400;
- var stage = new Kinetic.Stage({
- Container: 'Container',
- Breite: 578,
- Höhe: 400
- });
- var layer = new Kinetic.Layer({
- y: -30
- });
- var leftEye = new Kinetic.Line({
- x: 150,
- Punkte: [0, 200, 50, 190, 100, 200, 50, 210],
- Spannung: 0,5,
- geschlossen: wahr,
- Strich: 'weiß',
- Strichbreite: 10
- });
- var rightEye = new Kinetic.Line({
- x: sw - 250,
- Punkte: [0, 200, 50, 190, 100, 200, 50, 210],
- Spannung: 0,5,
- geschlossen: wahr,
- Strich: 'weiß',
- Strichbreite: 10
- });
- var nose = neu Kinetic.Line({
- Punkte: [240, 280, sw/2, 300, sw-240,280],
- Spannung: 0,5,
- geschlossen: wahr,
- Strich: 'weiß',
- Strichbreite: 10
- });
- var mouth = new Kinetic.Line({
- Punkte: [150, 340, sw/2, 380, sw - 150, 340, sw/2, sh],
- Spannung: 0,5,
- geschlossen: wahr,
- Strich: 'rot',
- Strichbreite: 10
- });
- layer.add(leftEye)
- .add(rightEye)
- .add(nose)
- .add(mouth);
- stage.add(layer);
- // Tweens
- var leftEyeTween = new Kinetic.Tween({
- node: leftEye,
- Dauer: 1,
- easing: Kinetic.Easings.ElasticEaseOut,
- y: -100,
- Punkte: [0, 200, 50, 150, 100, 200, 50, 200]
- });
- var rightEyeTween = new Kinetic.Tween({
- node: rightEye,
- Dauer: 1,
- easing: Kinetic.Easings.ElasticEaseOut,
- y: -100,
- Punkte: [0, 200, 50, 150, 100, 200, 50, 200]
- });
- var noseTween = new Kinetic.Tween({
- node: nase,
- Dauer: 1,
- easing: Kinetic.Easings.ElasticEaseOut,
- y: -100,
- Punkte: [220, 280, sw/2, 200, sw-220,280]
- });
- var mouthTween = new Kinetic.Tween({
- Knoten: Mund,
- Dauer: 1,
- easing: Kinetic.Easings.ElasticEaseOut,
- Punkte: [100, 250, sw/2, 250, sw - 100, 250, sw/2, sh-20]
- });
- stage.getContainer().addEventListener('mouseover', function() {
- leftEyeTween.play();
- rightEyeTween.play();
- noseTween.play();
- mouthTween.play();
- });
- stage.getContainer().addEventListener('mouseout', function() {
- leftEyeTween.reverse();
- rightEyeTween.reverse();
- noseTween.reverse();
- mouthTween.reverse();
- });

HTML5 ist eine Schlüsseltechnologie zum Aufbau moderner Webseiten und bietet viele neue Elemente und Funktionen. 1. HTML5 führt semantische Elemente wie usw. ein, die die Webseitenstruktur und die SEO verbessern. 2. Support Multimedia-Elemente und Einbetten von Medien ohne Plug-Ins. 3. Formulare verbessern neue Eingangstypen und Überprüfungseigenschaften und vereinfachen Sie den Überprüfungsprozess. 4. Bieten Sie Offline- und lokale Speicherfunktionen an, um die Leistung der Webseiten und die Benutzererfahrung zu verbessern.

Zu den Best Practices für den H5 -Code gehören: 1. Verwenden Sie korrekte DocType -Deklarationen und Zeichenkodierung; 2. Verwenden Sie semantische Tags; 3.. HTTP -Anfragen reduzieren; 4. Verwenden Sie asynchrone Laden; 5. Bilder optimieren. Diese Praktiken können die Effizienz, Wartbarkeit und Benutzererfahrung von Webseiten verbessern.

Webstandards und -technologien haben sich bisher aus HTML4, CSS2 und einfachem JavaScript entwickelt und haben erhebliche Entwicklungen erfahren. 1) HTML5 führt APIs wie Leinwand und Webstorage ein, die die Komplexität und Interaktivität von Webanwendungen verbessern. 2) CSS3 fügt Animations- und Übergangsfunktionen hinzu, um die Seite effektiver zu gestalten. 3) JavaScript verbessert die Entwicklungseffizienz und die Lesbarkeit der Code durch moderne Syntax von Node.js und ES6, wie z. B. Pfeilfunktionen und Klassen. Diese Änderungen haben die Entwicklung von Leistungsoptimierung und Best Practices von Webanwendungen gefördert.

H5 ist nicht nur die Abkürzung von HTML5, sondern auch ein breiteres Ökosystem der modernen Webentwicklungstechnologie: 1. H5 enthält HTML5, CSS3, JavaScript und verwandte APIs und Technologien; 2. Es bietet eine reichhaltigere, interaktive und reibungslose Benutzererfahrung und kann nahtlos auf mehreren Geräten ausgeführt werden. 3. Mit dem H5 -Technologie -Stack können Sie reaktionsschnelle Webseiten und komplexe interaktive Funktionen erstellen.

H5 und HTML5 beziehen sich auf dasselbe, nämlich HTML5. HTML5 ist die fünfte Version von HTML, die neue Funktionen wie semantische Tags, Multimedia -Support, Leinwand und Grafiken, Offline -Speicher und lokaler Speicher bietet, die Ausdrucksfähigkeit und Interaktivität von Webseiten verbessert.

H5REFERSTOHTML5, ApivotaltechnologyInwebdevelopment.1) HTML5IntroducesNewelementsandapisrich, Dynamicwebapplications.2) ITSUPP ortsmultimediaWitHoutPlugins, BETHINGINGUSEREXPERICERCROSSDEVICES.3) SEMANTICELEMENTSIMPROVEPENTENTENTENTRUCTENTRUCTELUREANDSEO.4) H5'SRespo

Zu den Tools und Frameworks, die in der H5 -Entwicklung gemeistert werden müssen, gehören Vue.js, React und WebPack. 1.Vue.js eignet sich zum Erstellen von Benutzeroberflächen und unterstützt die Komponentenentwicklung. 2. Die Rendern des Seitenrenders über virtuelle DOM optimiert, geeignet für komplexe Anwendungen. 3.Webpack wird zur Modulverpackung und zur Optimierung der Ressourcenlast verwendet.

HTML5hassignificantlytransformedwebdevelopmentbyintroducingsemanticelements,enhancingmultimediasupport,andimprovingperformance.1)ItmadewebsitesmoreaccessibleandSEO-friendlywithsemanticelementslike,,and.2)HTML5introducednativeandtags,eliminatingthenee


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft