JavaScript Canvas implementiert die Bewegung des Balls entlang der Maus

JavaScript Canvas implementiert die Bewegung des Balls entlang der Maus

In diesem Artikelbeispiel wird der spezifische Code von js, der der Maus folgt, um den Ball zu Ihrer Information zu bewegen, geteilt. Der spezifische Inhalt ist wie folgt

<!DOCTYPE html>
<html>
 <Kopf>
 <meta charset="utf-8">
 <Titel></Titel>
 <Stil>
 Leinwand{
 Rand: 1px durchgezogen #000;
 }
 </Stil>
 </Kopf>
 <Text>
 <canvas id="mycanvas" width="1500" height="800"></canvas>
 <Skript>
 //Eine Leinwand erstellen var canvas = document.getElementById('mycanvas');
 var ctx = canvas.getContext('2d');
 // Ball Klassenfunktion Ball(x, y) {
 dies.x = x;
 dies.y = y;
 // Anfangsradius this.r = parseInt(Math.random() * 50) + 10;
 dieser.Schritt = parseInt(Math.random() * 5) + 0,1;
 // Zufällige Farbe festlegen this.color = getRandom();
 // Zufällige Richtung festlegen this.dx = parseInt(Math.random() * 10) - 5;
 dies.dy = parseInt(Math.random() * 10) - 5;
 //Lade das Objekt in das Array ballArr.push(this);
 }
 // Entferne das Objekt aus dem Array Ball.prototype.remove = function() {
 für (var i = 0; i < ballArr.length; i++) {
 wenn (ballArr[i] == dies) {
 ballArr.splice(i, 1);
 }
 }
 }
 // Daten aktualisieren Ball.prototype.update = function() {
 // Daten aktualisieren this.x += this.dx;
 dies.y += dies.dy;
 dies.r -= dieser.Schritt;
 // Lösche die Bälle im Array if (this.r <= 0) {
 dies.entfernen();
 }
 // Wenn der Ball die Grenze überschreitet, bewegt er sich weiter if (this.x < 0) {
 dies.x = 1500;
 diese.Farbe = getRandom();
 }
 sonst wenn (this.x > 1500) {
 dies.x = 0;
 diese.Farbe = getRandom();
 }
 sonst wenn (dies.y < 0) {
 dies.y = 800;
 diese.Farbe = getRandom();
 }
 sonst wenn (dies.y > 800) {
 dies.y = 0;
 diese.Farbe = getRandom();
 }
 }
 // Rendere den Ball Ball.prototype.render = function() {
 ctx.beginPath();
 ctx.arc(dieses.x, dieses.y, dieses.r, 0, Math.PI * 2, falsch);
 ctx.fillStyle = diese.Farbe;
 ctx.fill();
 }
 // Canvas-DOM2-Ereignis canvas.addEventListener("mousemove", function(event) {
 neuer Ball (Ereignis.OffsetX, Ereignis.OffsetY);
 });
 var ballArr = [];
 // Timer für Animations-Rendering und Update setInterval(function() {
 // Animationslogik // Bildschirm löschen – aktualisieren – rendern ctx.clearRect(0, 0, canvas.width, canvas.height);
 // Aktualisiere und render den Ball für (var i = 0; i < ballArr.length; i++) {
 ballArr[i].update();
 wenn (ballArr[i]) {
 ballArr[i].render();
 }
 }
 }, 30);
 // Zufällige Farbfunktion getRandom() {
 var allType = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f";
 var allTypeArr = allType.split(",");
 var Farbe = "#";
 // Farbstrings verketten für (var i = 0; i < 6; i++) {
 var random = parseInt(Math.random() * allTypeArr.length);
 Farbe += allTypeArr[zufällig];
 }
 Farbe zurückgeben;
 }
 </Skript>
 </body>
</html>

Wirkung

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • JavaScript+Canvas realisiert den springenden Ball im Rahmen
  • JavaScript kombiniert mit Canvas zum Zeichnen von Sportbällen
  • Natives JS zur Realisierung eines bewegten Balls (Kollisionserkennung)
  • js realisiert die Bewegung des Balls im angegebenen Bereich der Seite
  • Verwenden Sie js, um den Freibewegungscode des Balls zu realisieren
  • js realisiert einen kleinen Ball, der der Mausbewegung folgt
  • JavaScript realisiert die Bewegung eines Balls entlang einer Sinuskurve
  • P5.js-Tutorial für die ersten Schritte: Beispielcode für eine Ballanimation
  • Natives JS zur Realisierung eines springenden Balls
  • Native js realisiert den Bouncing-Ball-Effekt

<<:  innodb_flush_method-Wertmethode (Beispielerklärung)

>>:  So lösen Sie das Problem FileZilla_Server:425. Datenverbindung kann nicht geöffnet werden

Artikel empfehlen

jQuery realisiert den Effekt der Sitzplatzauswahl und -reservierung im Theater

jQuery realisiert den Effekt der Sitzplatzauswahl...

Detaillierte Schritte zum Konfigurieren virtueller Hosts in nginx

Virtuelle Hosts verwenden spezielle Software- und...

MySQL-Passwort ist korrekt, aber keine lokale Anmeldung möglich -1045

MySQL-Passwort ist korrekt, aber keine lokale Anm...

Beheben Sie den Nginx-Fehler „504 Gateway Time-out“

Studenten, die Websites erstellen, stellen häufig...

Detaillierte Erklärung der Tomcat-Verzeichnisstruktur

Inhaltsverzeichnis Verzeichnisstruktur bin-Verzei...

Änderung und Abfrage von Python MySQL-Datenbanktabellen

Python stellt eine Verbindung zu MySQL her, um Da...

Einführung in die Verwendung des offiziellen MySQL-Leistungstesttools mysqlslap

Inhaltsverzeichnis Einführung Anweisungen Tatsäch...

Techniken zur Optimierung von MySQL-Paging-Abfragen

In Anwendungen mit Paging-Abfragen sind Abfragen,...

So installieren Sie binäres MySQL unter Linux und knacken das MySQL-Passwort

1. Stellen Sie sicher, dass das System über die e...

So leiten Sie eine URL mit Nginx Rewrite um

Ich muss in letzter Zeit bei der Arbeit oft die N...