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

Binäre Installation von MySQL 5.7.23 unter CentOS7

Die Installationsinformationen im Internet sind u...

MySQL 8.0.13 Installations- und Konfigurations-Tutorial unter CentOS7.3

1. Grundlegende Umgebung 1. Betriebssystem: CentO...

Ein Beispiel, wie Tomcat Session verwaltet

Sie haben ConcurrentHashMap gelernt, wissen aber ...

Detaillierte Erklärung der Nginx-Konfigurationsdatei

Die Hauptkonfigurationsdatei von Nginx ist nginx....

Tabellen in HTML aufteilen und zusammenführen (colspan, rowspan)

Der Code demonstriert die horizontale Zusammenfüh...

Vue implementiert Chat-Schnittstelle

In diesem Artikelbeispiel wird der spezifische Co...

Eine kurze Erläuterung der Situationen in MySQL, die zu Indexfehlern führen

Hier einige Tipps von Ausbildungsstätten und mein...

Verwenden Sie Docker, um ein Git-Image mithilfe des Klon-Repositorys zu erstellen

Überblick Ich verwende Docker seit über einem Jah...

Zusammenfassung der speicherbezogenen Parameter von MySQL 8.0

Theoretisch entspricht der von MySQL verwendete S...

Natives JS zum Erstellen einer Drag-Fotowand

Dieser Artikel zeigt Ihnen eine verschiebbare Fot...