JS realisiert die Kartenausgabe-Animation

JS realisiert die Kartenausgabe-Animation

In diesem Artikelbeispiel wird der spezifische JS-Code zur Implementierung der Kartenausgabeanimation als Referenz bereitgestellt. Der spezifische Inhalt ist wie folgt

Sehen Sie sich zuerst die Demo an

Vorbereitung des Spiele-Builds

1. Bereiten Sie 52 Karten vor
2. Eine Tischdecke
3. Das Bearbeitungstool ist Visual Code

Technischer Überblick

1. Objektoperation
2. Datenbetrieb
3.JS-Animation
4. Globale Variablen

Funktion desen_x(){
 lass das = dies;
 var desen=["h_1","h_2","h_3","h_4","h_5","h_6","h_7","h_8",
 "h_9","h_10","h_11","h_12","h_13","p_1","p_2","p_3","p_4"
 ,"Seite_5","Seite_6","Seite_7","Seite_8","Seite_9","Seite_10","Seite_11","Seite_12","Seite_13"
 ,"t_1","t_2","t_3","t_4","t_5","t_6","t_7","t_8","t_9","t_10"
 ,"t_11","t_12","t_13","x_1","x_2","x_3","x_4","x_5","x_6","x_7"
 ,"x_8","x_9","x_10","x_11","x_12","x_13"];
 //Speichere alle deine Poker-Präfixnamen in einem Array var Obj = new Object(); //Erstelle ein neues Objekt var array=[]; //Leeres Array for(var i=0;i<4;i++){ //In der Spieldemo werden nur 4 Pokerkarten benötigt, also nur <4 
   var x=Math.round(Math.random()*52);//Zufallszahl gerundet*52
   Obj[i]=x; //In globaler Variable speichern, sonst kann immer nur ein Wert gespeichert werden}
 console.log(Obj);//Drucke das Objekt, um zu sehen, ob 4 Objekte vorhanden sind window.array=[desen[Obj[0]],desen[Obj[1]],desen[Obj[2]],desen[Obj[3]]];
 // Bringe das gespeicherte Array in das Poker Global }
function send_poker(){ //Diese Methode ist das Kartenausgabeereignis console.log(window.array);
 //Teste, ob deine globalen Variablen normal sind//und bringe die übergebenen globalen Variablen in temp[]
 var temp=[Fenster.Array[0],Fenster.Array[1],Fenster.Array[2],Fenster.Array[3]];
 var ti=0;
 var iamges="../poker/"+temp+".png"; //Dies ist der Standardpfad des Bildes + Ihr Design
 var creator = document.getElementById("d_back"); //DOM-Elternelement der Operation abrufen var po_1 = document.createElement("div"); //Virtuelle Generierung von div
 var num = 0; // Variablen initialisieren //po_1.src="../h_1.png";
 //img_1.scr="../images/poker/h_1.png";
 
 für (var i = 0; i <temp.length; i++) {//Schleifentemperatur
  var das=dies;
  var img_1 = document.createElement("img");
  img_1.src+="./images/poker/"+temp[i]+".png"; // Weisen Sie dem erstellten Bild einen variablen Pfad zu console.log("wenn es gleich 0 ist");
  var zehn=10;
  img_1.className="poker_float";//Weisen Sie ihm eine Klasse zu, die die standardmäßige anfängliche Handelsposition ist. creator.appendChild(img_1);//Objekt generieren//"../images/poker/"+temp.i+".png";
  
 }

 
  move_poker(); //Diese Methode ist eine in sich gekapselte Animation}

Animationsveranstaltungen

function move_poker(){ //Poker verschieben var node = document.getElementById("d_back").childNodes; //Alle untergeordneten Knoten unter dem übergeordneten Element abrufen console.log(node); //Ausgeben, wie viele var n5=node[9]; //Starten Sie den Vorgang mit der zu bearbeitenden img-Objektklasse als 9 var n6=node[10];
 var n7=Knoten[11];
 var n8=Knoten[12];
 var popo = anime({//Animation kann am Ende angezeigt werden target: n5, //bedientes Objekt translateX:-150, //horizontale Position, zu der verschoben werden soll translateY: -250, //vertikale Position, zu der verschoben werden soll easing: 'easeInOutQuad', //Easing, keine Änderung am CSS-Mechanismus duration:100, //Fertigstellungszeit });
  var popo1 = anime({
  Ziele: n6,
  übersetzenX:-100,
  übersetzenY: -250,
  Lockerung: 'easeInOutQuad',
  Dauer: 200,
  });
  var popo2 = anime({
  Ziele: n7,
  übersetzenX:-50,
  übersetzenY: -250,
  Lockerung: 'easeInOutQuad',
  Dauer:300,
  });
  var popo3 = anime({
  Ziele: n8,
  übersetzenX:0,
  übersetzenY: -250,
  Lockerung: 'easeInOutQuad',
  Dauer:400,
  });
}
function gui(){ //GUI setzt alle Knoten zurück, um das nächste Kartengeben zu ermöglichen var node = document.getElementById("d_back").childNodes;
 var n5=Knoten[9];
 var n6=Knoten[10];
 var n7=Knoten[11];
 var n8=Knoten[12];
 var popo4 = anime({
  Ziele: [n5,n6,n7,n8],
  übersetzenX:0,
  übersetzenY: 0,
 })
 node.removeChild(popo4);
}

Animationspaket

function setAnimationsProgress(insTime) { //Wenn diese Methode mehrere Doms hat, führt sie den asynchronen Thread-Modus XOR aus, var i = 0;
 var animations = Instanz.animationen;
 var animationsLength = animations.Länge; 
 während (i < Animationslänge) { 
  var anim = Animationen[i];
  var animatable = anim.animatable;
  var tweens = anim.tweens;
  var tweenLength = tweens.length - 1;
  var tween = tweens[TweenLänge];
  wenn (TweenLength) { Tween = FilterArray (Tweens, Funktion (t) { Return (InsTime < t.end); }) [0] || Tween; } 
  var verstrichen = minMax(Einstellzeit - tween.start - tween.delay, 0, tween.duration) / tween.duration;
  var eased = isNaN(verstrichen) ? 1 : tween.easing(verstrichen);
  var strings = tween.to.strings;
  var rund = tween.rund;
  var Zahlen = [];
  var toNumbersLength = tween.to.numbers.length;
  var Fortschritt = (void 0);
  für (var n = 0; n < toNumbersLength; n++) {
  var-Wert = (void 0);
  var toNumber = tween.to.numbers[n];
  var vonNummer = tween.vonNummern[n] || 0;
  wenn (!tween.isPath) {
   Wert = VonNummer + (erleichtert * (BisNummer - VonNummer));
  } anders {
   Wert = getPathProgress(tween.value, eased * toNumber);
  }
  wenn (runden) {
   wenn (!(tween.isColor && n > 2)) {
   Wert = Math.round(Wert * Runde) / Runde;
   }
  }
  Zahlen.push(Wert);
  }
  var stringsLength = strings.Länge;
  wenn (!stringsLength) {
  Fortschritt = Zahlen[0];
  } anders {
  Fortschritt = Zeichenfolgen[0];
  für (var s = 0; s < stringsLength; s++) {
   var a = Zeichenfolgen[s];
   var b = Zeichenfolgen[s + 1];
   var n$1 = Zahlen[s];
   wenn (!isNaN(n$1)) {
   wenn (!b) {
    Fortschritt += n$1 + ' ';
   } anders {
    Fortschritt += n$1 + b;
   }
   }
  }
  }
  setProgressValue[anim.type](animierbar.target, anim.property, Fortschritt, animierbar.transforms);
  anim.currentValue = Fortschritt;
  ich++;
 }
}

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:
  • js+canvas realisiert Kartenspiel

<<:  Detaillierte Erklärung zum effizienten MySQL-Paging

>>:  Zusammenfassung mehrerer Haltungen, die bei der Linux-Kompilierungsoptimierung beherrscht werden müssen

Artikel empfehlen

Vollständige Schritte zum Bereitstellen von Confluence mit Docker

Confluence ist kostenpflichtig, kann aber für die...

Detaillierte Schritte zur Installation und Konfiguration von MySQL 5.7

1. MySQL herunterladen 1. Melden Sie sich auf der...

Kompilieren Sie CPP-Dateien mit G++ in Ubuntu

Als ich die CPP-Datei zum ersten Mal mit G++ komp...

Einige wunderbare Verwendungsmöglichkeiten von URL-Objekten in JavaScript

Inhaltsverzeichnis Vorwort Parameter analysieren ...

Lichtschalter mit js steuern

Verwenden Sie js, um den Lichtschalter zu Ihrer R...

So versuchen Sie, Ihrem CSS einen Sticky-Effekt hinzuzufügen

Vorne geschrieben Ich weiß nicht, wer als Erster ...

Tutorial zur Verwendung des Hyperlink-Tags in HTML

Die verschiedenen HTML-Dokumente der Website sind...

Tutorial zur Installation und Konfiguration von msmtp und mutt für Raspberry Pi

1. Installieren Sie mutt sudo apt-get install mut...