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

Einführungstutorial zum MySQL-Multitabellen-Join

Über Verbindungen lassen sich faktische Fremdschl...

Beispiel-Tutorial für geplante MySQL-Aufgaben

Vorwort Seit MySQL 5.1.6 wurde eine einzigartige ...

Designtheorie: Zu den Themen Schema, Ressourcen und Kommunikation

<br />In vielen kleinen Unternehmen besteht ...

So finden Sie langsame SQL-Anweisungen in MySQL

Wie finde ich langsame SQL-Anweisungen in MySQL? ...

Axios storniert wiederholte Anfragen

Inhaltsverzeichnis Vorwort 1. So stornieren Sie e...

Detaillierte Erklärung der Zeichensätze und Validierungsregeln in MySQL

1Mehrere gängige Zeichensätze Zu den gängigsten Z...

Tabelle Tag (Tabelle) Im Detail

<br />Tabelle ist ein Tag, das schon seit la...

Warum sind die Bilder in mobilen Web-Apps nicht klar und sehr verschwommen?

Warum? Am einfachsten lässt es sich so ausdrücken:...