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

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.15

In diesem Artikel werden die Installations- und K...

Detaillierte Erläuterung der Hosts-Dateikonfiguration auf einem Linux-Server

Konfiguration der Hostdatei des Linux-Servers Die...

Eine kurze Analyse der startReactApplication-Methode von React Native

In diesem Artikel haben wir den Startvorgang von ...

So erstellen Sie einen Nginx-Image-Server mit Docker

Vorwort Bei der allgemeinen Entwicklung werden Bi...

Verwenden Sie CSS, um zwischen dem Dunkelmodus und dem Hellmodus zu wechseln

In der fünften Ausgabe von Web Skills wird ausdrü...

jQuery realisiert den Gleiteffekt des Dropdown-Menüs

Wenn wir eine Webseite erstellen, möchten wir man...

Detaillierte Erklärung der InnoDB-Speicherdateien in MySQL

Physisch gesehen besteht eine InnoDB-Tabelle aus ...

Eine Fallstudie zur MySQL-Optimierung

1. Hintergrund Auf jeder OLTP-Datenbankinstanz vo...